Saturday, September 29, 2007

十一回家了

工作三年了,往年都只有在年底回家,今年不知怎么的,特想回家看看,爸妈年纪都大了,我现在买不起房,不能让他们进城里享受,只能多回家看看他们了。回家想带很多东西,奈何人太多,带着不方便。托朋友买了三盒阿胶送给妈妈不身体,明天再去上品折扣看看,想买一件毛衣送给妈妈,妈妈身体弱,冬天容易病,希望送她一件暖和羊毛衫能保佑妈妈身体健康。坐公交的时候我经常会想起妈妈,有时候觉得妈妈真的很了不起,不说伟大,至少我很敬佩,由衷的敬佩,一是在我们那没出几个读书人的环境下,竟然顶着别人的嘲笑毅然一直供我读书;二是可以将自己一年挣下来的钱全部给我去上学,光这一点足以让我自惭形秽,我一年花了多少钱给妈妈,又花了多少时间陪妈妈? 希望上天能保佑我妈妈能够身体健康,安享晚年。

和李益'江南曲'

嫁得上班族,
朝朝是九五.
早知股市行,
嫁与小股民.
(和李益'江南曲'. 时代变了,潮虽有信,不及贾之风情)

Thursday, September 27, 2007

Favorite songs

For You
Sgt. MacKenzie
赞歌
好心分手
牡丹之歌
梦驼铃
出塞曲
走西口
张国荣 共同度过
任贤齐 花好月圆夜
信天游

专辑

Last night I saw the movie . It's an amazing warfare movie, I'm shocked by the sence of the fighting, as well as the background music.

专辑介绍: 

电影原声带集结2000年格莱美奖赢家与提名者为这段可歌可泣的历史献上歌声的礼赞,最佳摇滚乐团提名DaveMatthews 跟传奇歌者JohnnyCash悲情壮志的诀别颂“ForYou”;以“DropsOfJupiter”夺下最佳摇滚歌曲的Train为战场上前仆后继的英雄送上激情与感性兼备的英雄摇滚纪念歌“FallOut”;囊括年度唱片、专辑、歌曲等7项提名的灵魂女声 India.Arie追念英雄身影的原音灵魂小品“GoodMan”;创作风采跨越流行、福音、乡村民谣领域的葛莱美奖才子StevenCurtisChaman真情沛然颂赞战士雄心壮志佳作“Soldiers”;以成人抒情TOP40榜冠军曲“Superman”角逐 格莱美奖的人文情感组合FiveForFighting凄美的英雄塑像唱作TheBeautiful”;贯穿整部片的爱尔兰礼颂曲“Sgt.MacKenzie”与《绝地任务》、《铁面人》新锐音乐家NickGlennie-Smith参与创作的美国士官兵礼颂曲“TheMansionsOfTheLord(Suite)”两段慨然悲昂乐章!加上2002年格莱美奖最佳乡村女歌手提名的JamieO'Neal、流行健将MichaelMcDonald、跟MartinaMcBride、SheDaisy合作过的加拿大乡村新女声CarolynDawnJohnson、格莱美奖常客MaryChapinCarpenter的唱作,《WeWereSoldiers》电影原声带让我们听见了英雄的勇气与信念。
We were soldiers

Wednesday, September 26, 2007

Mid-Autumn Festival(欢度中秋)

The 15th day of the 8th lunar month

The joyous Mid-Autumn Festival was celebrated on the fifteenth day of the eighth moon, around the time of the autumn equinox(秋分). Many referred to it simply as the "Fifteenth of the Eighth Moon".

This day was also considered as a harvest festival since fruits, vegetables and grain had been harvested by this time and food was abundant. Food offerings were placed on an altar set up in the courtyard. Apples, pears, peaches, grapes, pomegranates(石榴), melons, oranges and pomelos(柚子) might be seen. Special foods for the festival included moon cakes, cooked taro(芋头)and water caltrope(菱角), a type of water chestnut resembling black buffalo horns. Some people insisted that cooked taro be included because at the time of creation, taro was the first food discovered at night in the moonlight. Of all these foods, it could not be omitted from the Mid-Autumn Festival.

The round moon cakes, measuring about three inches in diameter and one and a half inches in thickness, resembled Western fruitcakes in taste and consistency. These cakes were made with melon seeds(西瓜子), lotus seeds(莲籽), almonds(杏仁), minced meats, bean paste, orange peels and lard(猪油). A golden yolk(蛋黄) from a salted duck egg was placed at the center of each cake, and the golden brown crust was decorated with symbols of the festival. Traditionally, thirteen moon cakes were piled in a pyramid to symbolize the thirteen moons of a "complete year," that is, twelve moons plus one intercalary(闰月的) moon.

The Mid-Autumn Festival is a traditional festivity for both the Han and minority nationalities. The custom of worshipping the moon can be traced back as far as the ancient Xia and Shang Dynasties (2000 B.C.-1066 B.C.). In the Zhou Dynasty(1066 B.C.-221 B.C.), people hold ceremonies to greet winter and worship the moon whenever the Mid-Autumn Festival sets in. It becomes very prevalent in the Tang Dynasty(618-907 A.D.) that people enjoy and worship the full moon. In the Southern Song Dynasty (1127-1279 A.D.), however, people send round moon cakes to their relatives as gifts in expression of their best wishes of family reunion. When it becomes dark, they look up at the full silver moon or go sightseeing on lakes to celebrate the festival. Since the Ming (1368-1644 A.D. ) and Qing Dynasties (1644-1911A.D.), the custom of Mid-Autumn Festival celebration becomes unprecedented popular. Together with the celebration there appear some special customs in different parts of the country, such as burning incense(熏香), planting Mid-Autumn trees, lighting lanterns on towers and fire dragon dances. However, the custom of playing under the moon is not so popular as it used to be nowadays, but it is not less popular to enjoy the bright silver moon. Whenever the festival sets in, people will look up at the full silver moon, drinking wine to celebrate their happy life or thinking of their relatives and friends far from home, and extending all of their best wishes to them.


Moon Cakes

There is this story about the moon-cake. during the Yuan dynasty (A.D. 1280-1368) China was ruled by the Mongolian people. Leaders from the preceding Sung dynasty (A.D. 960-1280) were unhappy at submitting to the foreign rule, and set how to coordinate the rebellion without being discovered. The leaders of the rebellion, knowing that the Moon Festival was drawing near, ordered the making of special cakes. Backed into each moon cake was a message with the outline of the attack. On the night of the Moon Festival, the rebels successfully attached and overthrew the government. Today, moon cakes are eaten to commemorate this legend and was called the Moon Cake.

For generations, moon cakes have been made with sweet fillings of nuts, mashed red beans, lotus-seed paste or Chinese dates(枣子), wrapped in a pastry. Sometimes a cooked egg yolk can be found in the middle of the rich tasting dessert. People compare moon cakes to the plum pudding and fruit cakes which are served in the English holiday seasons.

Nowadays, there are hundreds varieties of moon cakes on sale a month before the arrival of Moon Festival.

Tuesday, September 25, 2007

李白的《把酒问月》与张若虚的《春江花月夜》

把酒问月
李白

青天有月来几时? 我今停杯一问之。
人攀明月不可得, 月行却与人相随。
皎如飞镜临丹阙。 绿烟灭尽清辉发。
但见宵从海上来, 宁知晓向云间没?
白兔捣药秋复春, 嫦娥孤栖与谁邻?
今人不见古时月, 今月曾经照古人。
古人今人若流水, 共看明月皆如此。
唯愿当歌对酒时, 月光长照金樽里。


春江花月夜
年代:【唐】 作者:【张若虚】 体裁:【乐府】
春江潮水连海平,海上明月共潮生。
滟滟随波千万里,何处春江无月明?
江流宛转绕芳甸,月照花林皆似霰。
空里流霜不觉飞,汀上白沙看不见。
江天一色无纤尘,皎皎空中孤月轮。
江畔何人初见月?江月何年初照人?
人生代代无穷已,江月年年只相似。
不知江月待何人,但见长江送流水。
白云一片去悠悠,青枫浦上不胜愁。
谁家今夜扁舟子?何处相思明月楼?
可怜楼上月徘徊,应照离人妆镜台。
玉户帘中卷不去,捣衣砧上拂还来。
此时相望不相闻,愿逐月华流照君。
鸿雁长飞光不度,鱼龙潜跃水成文。
昨夜闲潭梦落花,可怜春半不还家。
江水流春去欲尽,江潭落月复西斜。
斜月沉沉藏海雾,碣石潇湘无限路。
不知乘月几人归?落花摇情满江树。

古人咏月的诗词

月出皎兮,佼人僚兮(《诗经·陈风·月出》)
海上生明月,天涯共此时。情人怨遥夜,竟夕起相思(张九龄《望月怀远》)
床前明月光,疑是地上霜。举头望明月,低头思故乡(李白《静夜思》)
人生代代无穷已,江月年年只相似(张若虚《春江花月夜》)
兔寒蟾冷桂花白,此夜姮娥应断肠(李商隐《月夕》)
中天悬明月,令严夜寂寥(〈后出塞五首〉其二)
暝色延山径,高斋次水门。薄云岩际宿,孤月浪中翻。
鹳鹤追飞静,豺狼得食喧。不眠忧战伐,无力正乾坤。” ——(《宿江边阁》) 水静楼阴直,山昏塞月斜。夜来归鸟尽,啼杀后栖鸦。(《遣怀》)
露从今夜白,月是故乡明
明月千里寄相思
今夜鄜州月,闺中只独看。遥怜小儿女,未解忆长安。
香雾云鬓湿,清辉玉臂寒。何时倚虚幌,双照泪痕干。 ——(杜甫《月夜》) 公本思家,偏想家人思己,已进一层。至念及儿女不能思,又进一层。鬓湿臂寒,看月之久也。月愈好而苦愈增,语丽情悲。末又想到聚首时,对月舒愁之状,词旨婉切,见此老钟情之至。(《杜臆》)
戍鼓断人行,边秋一雁声。露从今夜白,月是故乡明。
有弟皆分散,无家问死生。寄书长不达,况乃未休兵。 ——(《月夜忆舍弟》) 落月满屋梁,犹疑照颜色(《梦李白二首》其一)
片云天共远,永夜月同孤 细草微风岸,危樯独夜舟。
星垂平野阔,月涌大江流。 名岂文章著,官应老病休。
飘飘何所似?天地一沙鸥。 ——(《旅夜抒怀》)
江汉思归客,乾坤一腐儒。片云天共远,永夜月同孤。
落日心犹壮,秋风病欲苏。古来存老马,不必取长途。 ——(《江汉》)
清秋幕府井梧寒,独宿江城蜡炬残。 永夜角声悲自语,中天月色谁好看?
风尘荏苒音书绝,关塞萧条行路难。 已忍伶俜十年事,强移栖息一枝安。 ——(《宿府》)
客睡何曾著,秋天不肯明!入帘残月影,高枕远江声。
计拙无衣食,途穷丈友生。老妻书数纸,应悉未归情。 ——(《客夜》)
回乐峰前沙似雪,受降城外月如霜。不知何处吹芦管,一夜征人尽望乡。 李益 :《夜上受降城闻笛》
月下飞天镜,云生结海楼。仍怜故乡水,万里送行舟。 李白:《渡荆门送别》 登舟望秋月,空忆谢将军。 李白:《夜泊牛渚怀古》
多情只有春庭月,犹为离人照落花。 张泌:《寄人》
照月楼高休独倚,酒入愁肠化作相思泪。 范仲淹 词:《苏幕遮》
年年今夜,月华如练;长是人千里。 范仲淹:《御街行》
明月不谙离恨苦,斜光到晓穿朱户。晏殊 词:《蝶恋花》
何处合成愁,离人心上秋。纵芭蕉,不雨也飕飕。
都道晚凉天气好,有明月、怕登楼。 吴文英 词:《唐多令》
胡蝶梦中家万里,杜鹃技上月三更 唐 崔涂:《春夕》
花间一壶酒,独酌无相亲。举杯遥明月,对影成三人。
月既不解饮,影徒随我身 。暂伴月将影,行乐须及春。
我歌月徘徊,我舞影零乱。……永结无情游,相期邈云汉。 李白:《月下独酌》
念月榭携手,露桥闻笛,沉思前事,似梦里,泪暗滴。 周邦彦 词:《兰陵王》
孤灯不如思欲绝,卷惟望月空长叹……日色已尽花含烟,月明如素愁不眠。” 李白:《长相思》
当时明月在,曾照彩云归。晏几道 词:《临江仙》
闻道欲来相问讯,西楼望月几回圆。韦应物:《寄李儋元锡》
家住层城临汉苑,心随明月到胡天。 皇甫冉:《春思》
三湘愁鬓逢秋色,万里归心对月明。 卢纶:《晚次鄂州》。
时难年荒世业空,弟兄羁旅各西东……共看明月应泪垂,一夜乡心五处同。
白居易:《望月有感》
……抬望眼,仰天长啸,壮怀激烈,三十功名尘与土,八千里路云和月,……靖康耻。犹未雪,巨子恨,何时灭……。岳飞 《满江红》
回 昭阳辞落日,伤心铜雀迎秋月, 妾身,不愿似天家,金 缺。文天祥 《满江红》
拜将名歌,怀贤阁杳,空指冲冠鬃,阑干拍遍,独对中天明月。 胡世将 词:《酹江月》
两宫幽陷,此恨何时雪!……孤忠耿耿。剑铓冷侵秋月。 (南宋)黄中辅 词:《念奴娇》。
想故国,高台月照,辇下风光,山中岁月,海上心情。(南宋)刘辰翁 词:《柳梢青》
璧月初晴,黛云远澹,春事维主?……宣和旧日,临安南渡,芳景犹自如故。……鄜州今夜,此苦又谁知否? 刘辰翁 龙虎敬,风云天。千古恨凭谁说?对山河反二,泪盈襟血。客馆夜惊尘土梦,宫东晓碾关山月。问姮娥,于我肯从容,月圆缺。 王清惠;《满江红》
蜀鸟吴花残照里,忍见荒城颓 !……伴人无寐,秦淮应是孤月。 邓剡 词《酹江月》
人间如梦,一尊还酹江月。 苏轼《赤璧怀古》
词《念奴娇》 赤壁矶头千古浪,铜鞮陌上三更月。 辛弃词:《满江红》。
料得年年肠断处,明月夜,短松冈。 苏轼词《江城子》。
沙上弃禽池上瞑,云破月来花弄影。 张先 词:《天仙子》
中庭月色正清明,无数扬花过无影。 张先 词:《木兰花》
白草黄沙,月照孤村三两家。 蒋氏女 词《减字木兰花》
(题雄州驿) 驿路侵斜月,溪桥度晓霜。 吕本 《南歌子》
今宵酒醒何处?杨柳岸晓风残月。 柳永 词:《雨霖铃》
新月娟娟,夜寒江静山衔斗。 苏过 《点绎唇》
明月别枝惊鹊,清风半夜鸣蝉。 辛弃疾 词《西江月》
更深月色半人家,,北斗阑干南斗斜。 刘方平 《月夜》
月殿影开闻夜漏,水晶帘卷近秋河。 顾况 《宫词》
雁声远过潇湘去,十二楼中月自明。 温庭筠 《瑶瑟怨》
深林人不知,明月来相照。 王维 《竹里馆》
野旷天低树,江清月近人。 孟浩然 《宿建德江》
月落乌啼霜满天, 江枫渔火对愁眠。 张继 《枫桥夜泊》
绣帘开,一点明月窥人。 苏轼 词《洞仙歌》
天秋月又满,城阙夜千重。 戴叔伦 《江乡故人偶集客舍》
晓月过残垒,繁星宿故关。 司空曙 《贼平后送人北归》
松风吹解带,山月照弹琴。 王维 《酬张少府》
风鸣两岸叶,月照一孤舟。 孟浩然 《宿桐庐江寄广陵旧游》
永怀愁不寐, 松月夜窗墟。 孟浩然 《岁暮归南山》
沦江好烟月,门系钓鱼船。 杜牧 《旅宿》
广泽生明月,苍山夹乱流。 马戴 《楚江怀古》
渚云低暗渡, 关月冷相随。 崔涂 《孤雁》
峨眉山月半轮秋,影入平羌江水流。 李白 《峨眉山月歌》
青女素娥俱耐冷,月中霜里斗婵娟。 李商隐 《霜月》
赧郎明月夜,歌曲动寒川。 李白 《秋浦歌》
星临万户动,月傍九霄多。 杜甫 《春宿左省》
几时杯重把, 昨夜月同行。 杜甫 《奉济驿重送严公四韵》
星垂平野阔,月涌大江流。 杜甫 《旅夜书怀》
水月通禅寂, 鱼龙听梵声。 钱起 《送僧归日本》 长簟迎风早, 空城澹月华。 韩翃 《酬程延秋夜即事见赠》
际夜转西壑,隔山望南斗。潭烟飞溶溶,林月低向后。 綦毋潜 《春泛若耶溪》
四更山吐月,残夜水明楼。 杜甫诗 山吐月千仞,残夜水明楼。 王以宁 《水调歌头》
长沟流月去无声。杏花疏影里,吹笛到天明。 陈与义 词《临江仙》
暮从碧山下,山月随人归。 李白 《下终南山过斛斯山人宿置酒》
高卧南斋时,开帷月初吐。 王昌龄 《忆山阴崔少府》
明月松间照,清泉石上流。 王维 《山居秋暝》
山光忽西落,池月渐东上。 孟浩然 《夏日南亭怀辛大》
松月生夜凉,风泉满清听。 孟洗影 《宿业师山房期丁大不至》
夜深静卧百虫绝,清月出岭光入扉。 韩愈 《山石》
……起来独自绕阶行。人悄悄,帘外月胧明。……欲将心事付瑶琴。知音少,弦断有谁听? (南宋)岳飞 词《小重山》
剩水残山无态度,被疏梅、料理成风月。 辛弃疾 词《贺新郎》
今日事,何人弄得如此!漫漫白骨蔽川原,恨何自己!关河万里寂无烟,月明空照芦苇。 曹豳 词《西河》
望断云行无去处,梦回明月生春浦。 司马槱 词《黄金缕》
举怀呼月,问神京何在,淮出隐隐。……满地平戈犹未戢,毕竟中原谁定? 张绍文 词《酹江月》
(淮城感兴) 秋到边城角声哀,烽火照高台。……多情谁似南山月,特地暮云开。 陆游 词《秋波媚》
睡觉寒灯里,漏声断、月斜窗纸。……有谁知?鬓虽残,心未死。 陆游 词《夜游宫》
硬语盘空谁来听?记当时,只有西窗月。 辛弃疾 词《贺新郎》
自昔佳人多薄命,对古来,一片伤心月。 辛弃疾 词《贺新郎》
雨急云飞,惊散暮鸦,微弄凉月……万里想龙河,泣孤臣关越。 (南宋)张元干 词《石州慢》 春花秋月何时了,往事知多少?小楼昨夜又东风,故国不堪回首明月中…… 李煜 词《虞美人》
会挽雕弓如满月,西北望,射天狼。” 苏轼 词《江城子》
富贵本无心,何事故乡轻别?空使猿惊鹤怨,误薜萝秋月。……欲驾巾车归去,有豺狼当辙。 胡铨 词《好事近》
闻道黄龙戍,频年不解兵。 可怜闺里月,长在汉家营。 沈佺期 《杂诗》
行宫见月伤心色,夜雨闻铃肠断声。 白居易 《长恨歌》
疏星淡月,断云微度。万里江山知何处? 张元干 词《贺新郎》
可怜今夕月,向何处,去悠悠?是别有人间,那边才见,光影东投?是天外,空汗漫,但长风浩浩送中秋?飞镜无根谁系?姮娥不嫁谁留?谓经海底问无由,恍惚使人愁。怕万里长鲸,纵横触破,玉殿琼楼。虾蟆故堪浴水,问云何玉兔解沉浮?若道都齐无恙,云何渐渐如钩? 辛弃疾 词《木兰花慢》
旧时月色,算几番照我,梅边吹笛?……长记曾携手处……几时见得。 姜夔 词《暗香》
曲曲屏山,夜凉独自甚情绪?……候馆迎秋,离宫吊月,别有伤心无数。 姜夔 词《齐天乐》
无言独上西楼,月如钩,寂寞梧桐深院锁清秋。 李煜 《鸟夜啼》
今夜画船何处?潮平淮月朦胧! 孤灯闻楚角,残月下章台。 苇荘 《章台夜思》
江山月明胡雁过,淮南木落楚山多。 刘长卿 《寄李儋元钖》
永夜角声悲自语,中天月色好谁看? 杜甫 《宿府》
秦时明月汉时关,万里长征人未还。 王昌龄 《出塞》
长安一片月,万户捣衣声。 秋风吹不尽,总是玉关情。 何日平胡虏,良人罢远征? 李白 《子夜歌》
月照城头乌半飞, 霜凄万树风入衣。 李颀 《琴歌》
鹿门月照开烟树, 忽到庞公栖隐处; 孟浩然 《夜归鹿门歌》
谁为含愁独不见, 更教明月照流黄。 沈佺期 《独不见》
潮落夜江斜月里,两三星火是瓜洲。 张祜《题金陵渡》
春风又绿江南岸,明月何时照我还。 王安石 《泊船瓜洲》
不信楼头杨柳月,玉人歌舞未曾归 谢枋得 《蚕妇吟》
烟笼寒水月笼沙,夜泊秦淮近酒家。 杜牧 《泊秦淮》
二十四桥明月夜, 玉人何处教吹箫。 杜牧 《寄扬州韩绰判官》
却下水清帘, 玲珑望秋月。 李白 《玉阶怨》
醉月频中圣,迷花不事君。 李白 《赠孟浩然》
又闻子规啼夜月,愁空山。 李白 《蜀道难》
人生得意须尽欢, 莫使金樽空对月。 李白 《将进酒》
一年明月今宵多,人生由命非由他。有酒不饮奈明何! 韩愈 《八月十五夜赠张功曹》
恨君不似江楼月,南北东西。 南北东西,只有相随无别离。 恨君却似江楼月,暂满还亏。 暂满还亏,待得团圆是几时。 吕本中 《采桑子》
云中谁寄锦书来?雁字回时,月满西楼 李清照 《一剪梅》
为报今年春色好,花光月影宜相照 李清照 词:《蝶恋花》
病起萧萧两鬓华,卧看残月上窗纱 李清照 《摊破浣溪沙》
那堪更被明月,隔墙送过秋千影。 张先 《青门引》
月上柳梢头,人约黄昏后 欧阳修 《生查子》
钱塘风月西湖柳,渡江来万年机会,从前未有。 戴复古 《贺新郎》
念多情,但有当时皓月,向人依旧。 秦观 《水龙吟》
雾失楼台,月迷津渡,桃源望断无寻处 秦观 《踏莎行》
似黄梁梦,辞丹凤;明月共,漾孤篷 贺铸 《六州歌头》
堪爱处,最好是,一川夜月光流清 晁补之 词《摸鱼儿》
昨夜风开露井桃,未央前殿月轮高。 王昌 夜投佛寺上高阁, 星月掩映云曈昽 韩愈 《谒衡岳庙遂宿岳寺题门楼》
天边树若荠,江畔洲如月。 何当载酒来,共醉重阳节。 孟浩然 《秋登兰山寄张五》
月皎惊乌栖不定,更漏将阑,枥辘牵金井 周帮彦 词中《蝶恋花》
白玉楼高,广寒宫阙,暮去如幛褰开……冰轮动,光满楼台…… 周邦彦 词中《锁阳台》
人散后,一钩淡月天如水。 谢逸 词:《千秋岁》
猛期月满会姮娥,谁知是初生新月 谢逸 词:《花心幼》
新月曲如眉,未有团圆意 牛希济 《生查子》
月有微黄篱无影,挂牵牛数朵青花少 蒋捷 词《贺新郎》
松际露微月,清光犹为君。 常建 《宿王昌龄隐居》
一夜飞度镜湖月。 湖月照我影, 送我至剡溪。 李白 《梦游天姥吟留别》
俱怀逸兴壮思飞,欲上青天览明月。 李白 《宣州谢月兆楼饯别校书叔云》
醉不成欢惨将别,别时茫茫江浸月…… 东船西舫悄无言, 唯见江心秋月白…… 今年欢笑复明年,秋月春风等闲度…… 去来江口守空船,绕船月明江水寒…… 春江花朝秋月夜, 往往取酒还独倾…… 白居易 《琵琶行》

1、床前明月光,疑是地上霜。 李白
2、举头望明月,低头思故乡。 李白
3、月下飞天镜,云生结海楼。 李白
4、举杯邀明月,对影成三人。 李白
5、长安一片月,万户捣衣声。 李白
6、明月出天山,苍茫云海间。 李白
7、醉月频中圣,迷花不事君。 李白
8、却下水晶帘,玲珑望秋月。 李白
9、我寄愁心与明月,随风直到夜郎西。 李白
10、俱怀逸兴壮思飞,欲上青天览明月。 李白
11、峨嵋山月半轮秋,影入平羌江水流。 李白
12、松风吹解带,山月照弹琴。 王维
13、深林人不知,明月来相照。 王维
14、明月松间照,清泉石上流。 王维
15、广泽生明月,苍山夹乱流。 马戴
16、月黑雁飞高,单于夜遁逃。 卢纶
17、露从今夜白,月是故乡明。 杜甫
18、星临万户动,月傍九霄多。 杜甫、
19、晨兴理荒秽,带月荷锄归。 陶渊明
20、无言独上西楼,月如钩。 李煜
21、明月别枝惊鹊,清风半夜鸣蝉。 辛弃疾
22、可怜九月初三夜,露似珍珠月似弓。 白居易
23、一弹流水一弹月,半入江风半入云。 对联
24、更深月色半人家,北斗阑干南斗斜。 刘方平
25、晓镜但愁云鬓改,夜吟应觉月光寒。 李商隐
26、会挽雕弓如满月,西北望射天狼。 苏轼
27、庭下如积水空明,水中藻荇交横,盖竹柏影也。 苏轼

Monday, September 24, 2007

"LINQ to SQL"written by ScottGu

This is a nice series talk about LINQ to SQL. Below are links to each article:
Part 1: Using LINQ to SQL
Part 2: Defining our data model classes
Part 3: Querying our database
Part 4: Updateing our database
Part 5: Binding ui using the ASP LINQDataSource control
Part 6: Retrieving data using stored procedure
Part 7: Updating our database using stored procedures
Part 8: Executing custom sql expressions
Part 9: Using a custom LINQ expression with the ASP LINQDataSource control

微软大中华区CEO陈永正辞职信

I want to share with you some difficult news about my future plans. Later today, I will announce that I have resigned from Microsoft and will be taking a position in a different filed. It is not without a heavy heart that I contemplate leaving the incredible work and extraordinary people that I have been privileged to encounter during my four years at Microsoft.

Together, we have accomplished what some might have thought could not be done. In a few short years, we have defined a clear and stable strategic framework for Microsoft’s business in the Greater China region. We have nearly doubled sales and have broken through the $1 billion mark in revenue in GCR. In China itself, we have tripled our sales in the last three years. Including those of covered OEMs, and we are posed to hit $ 1 billion in FY08. we have reduced the UPC rate by more than 20%. We have added hundreds of new people and expanded our operations to more than 15 locations across the region. We have strengthened our customer and partner relationships and transformed the way people view Microsoft, not just locally but all around the globe as well.

Most importantly, we’ve been able to use our technology to help improve the lives and livelihood of millions of people throughout the Greater China region. I have learned from each of you along the way and you have made my experience at Microsoft one that I will never forget.

While change always comes with its share of unknowns, there is one thing that I have absolutely no question about, and that is this organization’s ability to continue the great work that we’ve begun. We have a well-thought our transltion plan in place and some of the finest leadership in the team and in our strategy with the Big Rocks plan in place. I have no doubt that in the very near future, Microsoft Greater China region will no longer be talking about breaking through the $1 billion but about the $5 billion mark. J

At 4 PM today, we will have an all-hands meeting in the Millennium Building to discuss my plans and the transition in more detail. In the meantime, I’d like to express my deep thanks to every one of you in the Microsoft Greater China region for your hard work and for your contribution to our continued success.

Friday, September 21, 2007

Parents and children

If it was going to easy, it never would have started with something called labor!

Shouting to make your children obey is like using the horn to steer your car, and you get about the same results.

To be in your children’s memories tomorrow, you have to be in their lives today.

The smartest advice on raising children is to enjoy them while they are still on your side.

The best way to keep kids at home is to give it a loving atmosphere and hide the keys to the car.

The right temperature in a home is maintained by warm hearts, not by hot heads.

Parents: People who bare infants, bore teenagers, and board newlyweds.

The joy of motherhood : What a woman experiences when all the children are finally in bed.

Life’s garden age is when the kids are too old to need baby-sitters and too young to borrow the family car.

Grandparents are similar to a piece of string-handy to have around and easily wrapped around the fingers of grandchildren.

A child outgrows your lap, but never outgrows your heart.

God gave you two ears and one mouth…so you should listen twice as much as you talk.

There are three ways to get something done: Do it yourself, hire someone to do it, or forbid your children to do it.

Adolescence is the age when children try to bring up their parents.

Cleaning your house while your kids are at home is like trying to shovel the driveway during a snowstorm.

Oh, to be only half as wonderful as my child thought I was when he was small, and half an stupid as my teenager now thinks I am.

There are only two things a child will share willingly: communicable diseases and his mother’s age.

Money isn’t everything , but it sure keeps the kids in touch.

Adolescence is the age at which children stop asking questions because they know all the answers.

An alarm clock is a device for awakening people who don’t have small children.

No wonder kids are confused today. Half the adults tell them to find themselves; the other half tell them to get lost.

People hardest to convince that it’s time for retirement are children at bedtime.

Kids really brighten a household; they never turn off any lights.

Thursday, September 20, 2007

Visual C++ Futures

have got a number of emails and comments from some of you recently wanting to know more about the future of Visual C++.
The Visual C++ team has been looking at what they should in VC++ to ensure that the direction of the product aligns closely with customer needs and market realities. The team has the following three things top of mind as they think about the direction forward.
C++ customers mostly develop native code applications. As part of this, you would like to see renewed emphasis on tools for writing native code.
While firmly rooted in native code, many of you want to extend your applications to take advantage of managed functionality (especially WPF, WCF and workflow).
You are using C++/CLI to bridge between native and managed code.
This team will be significantly increasing support for native development tools. Central to this work is investigating ways to make C++ developers far more efficient in understanding, updating and validating the quality of large native code bases. In fact, the team is already working on a front-end rewrite that will allow for a vastly improved IntelliSense experience. This same work should pave the way for future enhancements such as refactoring and advanced source code analysis. In addition, the team intends to update the native libraries to simplify the development of rich-client user interfaces and access to underlying Windows platform innovation. The team will also work to provide “friction-free” interop between native & managed code through enhancements to C++/CLI and IJW.

The Orcas release will begin to reflect this new strategy but large changes – especially to the design time experience – will come with the version beyond that. The team is currently kicking around a number of native code & interop features planned for Orcas+1, and we are always interested in hearing from customers. If there are specific things you’d like to see in future versions of Visual C++ please let us know.

You should also check out the Channel 9 video by Bill Dunlap and Steve Teixeira on the future of Visual C++. In addition, if you want to interact directly with the VC++ team please visit their team blog.

Wednesday, September 19, 2007

Practical advice for CEOs

September 18, 2007 6:08 AM PDT
Practical advice for CEOs
Posted by Steve Tobak
No man (or woman) is an island, but I think some CEOs behave as if they're God's gift to corporate America. And what do we do to discourage that perception? Not much, I'm afraid. You don't think they get way up on those pedestals all by themselves, do you?
Lest we forget, CEOs are hired by their boards to lead a staff of highly qualified individuals in managing an enterprise. Yes, they are ultimately responsible for corporate performance--for which they are typically well compensated--but by no means are they solely responsible.
In fact, most CEOs have little or no direct or line responsibility for operating or administrative functions; those are typically handled by other executive officers. Exceptions are either temporary or dysfunctional, in my opinion.
In any case, this post is not about culpability and I don't wish to confuse the issue with facts. Dysfunctional behavior runs rampant in the executive ranks. Rather than try to be a shrink, I thought I'd provide some much needed feedback and unsolicited, practical advice to help CEOs cope...also to help us cope with them.
Today we're covering leadership pointers; the next post will be about the business.
Get some humilitySome CEOs have heads so big they have their own microclimates. Self-confidence is critical for decisive leadership, but an overblown ego can actually be a sign of low self-esteem. When feeding that ego becomes a high priority, it can even overrule good business sense.
There are countless examples of CEOs destroying companies and shareholder value because they believed they were right about a critical business decision they had no business making. Besides seeing a shrink, the answer is to balance that gigantic ego with a healthy dose of humility. Get over yourself.
Listen and learnAs their heads grow, it seems that many top executive's ears shrink. Once they get a success or two under their belt, they tend to listen more and more to that voice in their head that may or may not have its own agenda.
When it comes to making critical decisions, it would help if CEOs gave equal time to their staff, their board and others who are perhaps more knowledgeable and less emotionally attached to certain issues.
Moreover, becoming the head of a company does not mean you know it all. On the contrary, long-term corporate success depends on adaptability, which in turn depends on listening, learning and applying new concepts and skills to ever-changing market and business conditions.
Grow a pairWith all the ego and testosterone in board rooms and executive staff meetings, you'd think there'd be no shortage of executives willing to take the bull by the horns and act decisively. Surprisingly, that's not the case. Time after time, I've seen CEOs take the path of least resistance rather than risk rocking the boat or getting their hands dirty.
This usually manifests in three ways: one, maintaining status quo when change is clearly needed; two, the inability to drive consensus on key strategic issues; or three, sitting up in an ivory tower and dictating direction without engaging on the issues. Look, if you want to make the big bucks, you don't get to take the easy way out. Life is messy. Be tough, make a decision, and take your lumps if you're wrong.
Trust your peopleOne of the most common characteristics of dysfunctional executives is a lack of real trust in their staff and others in key positions of responsibility within the company. Instead, dysfunctional CEOs micromanage and subject the company to whimsical changes in direction, aka strategy du jour.
Then there's the reverse problem, which can be worse: trusting certain individuals--often "yes-men" who sugarcoat the truth--who can then do no wrong in the CEO's eyes. Lack of objectivity leads to poor decision making and, well, let's just say that's not a good thing.
Be honestMany CEOs are terrified that people will perceive a weakness, a crack in the armor, or even a moment of uncertainty. To guard against this, they put up walls of overconfidence. Unfortunately, walls work both ways: they don't just change other's perception of you; they change your perception of events. Again, this leads to poor decision making or worse--denial and psychopathic behavior.
A simple rule solves the problem. Be honest. Be honest with yourself, especially about your limitations. Be honest with your board, your staff, your employees, your shareholders and your customers. The truth shall set you free. All humans have flaws, but if you deny yourself that, well, there goes your humanity.
At the end of the day, I think it's ironic that the individual with the biggest job and most in need of advice is the one least likely to ask for it or accept it. Still, that shouldn't stop us from offering. Do you have any unsolicited advice for your CEO?

Tuesday, September 18, 2007

Why Apple isn't selling more Macs?

Why Apple isn't selling more Macs
Posted by Michael Horowitz
There is an interesting article in the New York Times today (September 16th) that anyone involved with personal computers should read. It's called "A Window of Opportunity for Macs, Soon to Close" and it was written by Randall Stross, a professor of business at San Jose State University.
The main point of the article is that Apple should be selling many more Macintosh computers than it is. I agree completely.
The author points out that the release of an obviously half-baked version of Vista provided Apple with a golden opportunity to sell computers to people who don't want Vista. In my opinion, no one should buy a new computer with Vista until 2.5 years after its release. For more, see my September 2nd posting "I pity the fool (Windows XP good, Vista bad)."
Leading up to the release of Vista, which anyone in the field knew would suffer bumps in the road, Apple's marketing team blew a golden opportunity. The article describes a whole host of mistakes that Apple has made to get this point. Huge mistakes and many of them.
Macs account for only 3 percent of personal computers. My Mac experience is very limited, but I'm sure that judged on merits, it deserves a much larger market share. If nothing else, just being (mostly) immune to viruses, spyware and other forms of malicious software should get it 10 percent market share without a single employee at Apple working on marketing.
The fallout from miserable Mac sales is not limited to Apple. Windows users suffer too, because without increasingly popular Macs, Microsoft can continue doing things the way it always has. Thus Windows users suffer from poor quality work done by an organization that doesn't have it's feet to the fire.
This isn't the first time Microsoft has benefited from the brutal marketing mistakes of competitors. Anyone remember OS/2?

Sunday, September 16, 2007

彷徨

夜半枕上愁何状,思前想后两茫茫。
睁眼闭眼都是黑,一盏心灯在何方。
世事万千多变幻,唯有庸人独自扰。
且把风流唱少年,红日定会出东方。

Friday, September 14, 2007

Selecting multiple checkboxes inside a GridView control

this article demostrates a very easy way to select/unselect all checkboxes in gridview. The magic method is using a headertemplate as follows:

Making a CheckAll functionality


To add a check-all functionality in the GridView, simply add a HTML CheckBox to the header template of the checkbox column.

<HeaderTemplate>
<input id="chkAll" onclick="javascript:SelectAllCheckboxes(this);"
runat="server" type="checkbox" />
</HeaderTemplate>

SelectAllCheckboxes JavaScript method:

<script language=javascript>

function SelectAllCheckboxes(spanChk){

// Added as ASPX uses SPAN for checkbox
var oItem = spanChk.children;
var theBox= (spanChk.type=="checkbox") ?
spanChk : spanChk.children.item[0];
xState=theBox.checked;
elm=theBox.form.elements;

for(i=0;i<elm.length;i++)
if(elm[i].type=="checkbox" &&
elm[i].id!=theBox.id)
{
//elm[i].click();
if(elm[i].checked!=xState)
elm[i].click();
//elm[i].checked=xState;
}
}
</script>

Also we can use server side coding to implement select/unselect all in following way:


protected void btnSelectAll_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in gvResult.Rows)
{
CheckBox check = (CheckBox)(row.Cells[0].Controls[1]);
check.Checked = true;
}
}
protected void btnUnselectAll_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in gvResult.Rows)
{
CheckBox check = (CheckBox)(row.Cells[0].Controls[1]);
check.Checked = false;
}
}

The Evolution of a Programmer

The Evolution of a Programmer
High School/Junior High
10 PRINT "HELLO WORLD"
20 END
First year in College
program Hello(input, output)
begin
writeln('Hello World')
end.
Senior year in College
(defun hello
(print
(cons 'Hello (list 'World))))
New professional
#include
void main(void)
{
char *message[] = {"Hello ", "World"};
int i;

for(i = 0; i < 2; ++i)
printf("%s", message[i]);
printf("\n");
}
Seasoned professional
#include
#include

class string
{
private:
int size;
char *ptr;

public:
string() : size(0), ptr(new char('\0')) {}

string(const string &s) : size(s.size)
{
ptr = new char[size + 1];
strcpy(ptr, s.ptr);
}

~string()
{
delete [] ptr;
}

friend ostream &operator <<(ostream &, const string &);
string &operator=(const char *);
};

ostream &operator<<(ostream &stream, const string &s)
{
return(stream << s.ptr);
}

string &string::operator=(const char *chrs)
{
if (this != &chrs)
{
delete [] ptr;
size = strlen(chrs);
ptr = new char[size + 1];
strcpy(ptr, chrs);
}
return(*this);
}

int main()
{
string str;

str = "Hello World";
cout << str << endl;

return(0);
}
Master Programmer
[
uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
]
library LHello
{
// bring in the master library
importlib("actimp.tlb");
importlib("actexp.tlb");

// bring in my interfaces
#include "pshlo.idl"

[
uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
]
cotype THello
{
interface IHello;
interface IPersistFile;
};
};

[
exe,
uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
]
module CHelloLib
{

// some code related header files
importheader();
importheader();
importheader();
importheader("pshlo.h");
importheader("shlo.hxx");
importheader("mycls.hxx");

// needed typelibs
importlib("actimp.tlb");
importlib("actexp.tlb");
importlib("thlo.tlb");

[
uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
aggregatable
]
coclass CHello
{
cotype THello;
};
};


#include "ipfix.hxx"

extern HANDLE hEvent;

class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);

CHello(IUnknown *pUnk);
~CHello();

HRESULT __stdcall PrintSz(LPWSTR pwszString);

private:
static int cObjRef;
};


#include
#include
#include
#include
#include "thlo.h"
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

int CHello::cObjRef = 0;

CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
{
cObjRef++;
return;
}

HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
{
printf("%ws\n", pwszString);
return(ResultFromScode(S_OK));
}


CHello::~CHello(void)
{

// when the object count goes to zero, stop the server
cObjRef--;
if( cObjRef == 0 )
PulseEvent(hEvent);

return;
}

#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

HANDLE hEvent;

int _cdecl main(
int argc,
char * argv[]
) {
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();

hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

// Initialize the OLE libraries
CoInitializeEx(NULL, COINIT_MULTITHREADED);

CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);

// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);

// revoke and release the class object
CoRevokeClassObject(dwRegistration);
ulRef = pCF->Release();

// Tell OLE we are going away.
CoUninitialize();

return(0); }

extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;

CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
0x2573F891,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

#include
#include
#include
#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "clsid.h"

int _cdecl main(
int argc,
char * argv[]
) {
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker * pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 * _MAX_PATH];

// get object path
wcsPath[0] = '\0';
wcsT[0] = '\0';
if( argc > 1) {
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
wcsupr(wcsPath);
}
else {
fprintf(stderr, "Object path must be specified\n");
return(1);
}

// get print string
if(argc > 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
else
wcscpy(wcsT, L"Hello World");

printf("Linking to object %ws\n", wcsPath);
printf("Text String %ws\n", wcsT);

// Initialize the OLE libraries
hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

if(SUCCEEDED(hRslt)) {


hRslt = CreateFileMoniker(wcsPath, &pmk);
if(SUCCEEDED(hRslt))
hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

if(SUCCEEDED(hRslt)) {

// print a string out
pHello->PrintSz(wcsT);

Sleep(2000);
ulCnt = pHello->Release();
}
else
printf("Failure to connect, status: %lx", hRslt);

// Tell OLE we are going away.
CoUninitialize();
}

return(0);
}
Apprentice Hacker
#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0) {
while(defined($arg=shift(@ARGV))) {
$outfilename = $arg;
open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
print (FILE $msg);
close(FILE) || die "Can't close $arg: $!\n";
}
} else {
print ($msg);
}
1;
Experienced Hacker
#include
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}
Seasoned Hacker
% cc -o a.out ~/src/misc/hw/hw.c
% a.out
Guru Hacker
% cat
Hello, world.
^D
New Manager
10 PRINT "HELLO WORLD"
20 END
Middle Manager
mail -s "Hello, world." bob@b12
Bob, could you please write me a program that prints "Hello,
world."?
I need it by tomorrow.
^D
Senior Manager
% zmail jim
I need a "Hello, world." program by this afternoon.
Chief Executive
% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout

Wednesday, September 12, 2007

IT人生

花前总是黯然过,
月下正当好编程。
酒席肉林更无份,
可怜IT白头人。

(Composed in bus.)

Tuesday, September 11, 2007

无题诗

有幸微软游,
须尽软件熟。
莫学武陵人,
匆匆桃源走。

(有感进msra近一年,却入得宝山未得宝 ,sigh...)

Thursday, September 6, 2007

抓取吉林中标数据脚本

Tuesday, September 4, 2007

Using JavaScript Along with ASP.NET

This is good article about using javascript along with asp.net.

Summary: Learn how to apply JavaScript in ASP.NET applications. Also learn ways of doing control focus, button rollovers, alerts and placing text in the browser's status bar. (17 printed pages)

Using JavaScript Along with ASP.NET

Monday, September 3, 2007

Data import / export with SQL Server Express using DTS Wizard

There are IMHO two major annoyances with SQL Server Express :
- No Server Agent
- No Import / Export function (called Data Transformation Services - DTS in SQL Server 2000)

Missing the Server Agent means you have to make your own backup (or other) scheduling, but luckily DTS is possible - it is just not installed as default with SQL Server Express (SSE). It’s very strange to me why Microsoft did not just include in the standard install so that it was available from SQL Server Studio, but I’ll settle for just being happy that it exists at all!

Check if you already have it by looking for this file: c:\%programfiles%\Microsoft SQL Server\90\DTS\Binn\dtswizard.exe. If you don’t have a ‘DTS’ directory (or even a ‘90′ directory) it has not been installed.

Here is how you get it:
- It is included in the SQL Server Express Edition Toolkit - and only that. It you have installed another version of SSE, it works fine to install this package afterwards without uninstalling the others. Get it here: http://go.microsoft.com/fwlink/?LinkId=65111
- The DTS Wizard is included in the option “Business Intelligence Development Studio” so be sure to select that for install
- If you have installed another version of SSE, the installer might report that there is nothing to install. Override this by checking the checkbox that displays the version number (in the installer wizard)

After install has finished, the DTS Wizard is available at c:\\Microsoft SQL Server\90\DTS\Binn\dtswizard.exe
you might want to make a shortcut, or even include it on the tools menu of SQL Studio.

Advanced Batch File Techniques - Bubble Sort

@echo off
set /a count=0

:loop
echo %1 > _%count%.var
set /a count=count+1
shift
if "%1" == "" goto :startSort
goto loop

:startSort
set /a total=%count%-1

:RestartSort
set /a count=0

:sortLoop
set /a next=%count%+1
call :swap %count% %next%
set /a count=count+1
if "%swapped%" == "true" goto :RestartSort
if "%count%" == "%total%" goto :output
goto :sortLoop

:swap
set /P var1="" < _%1.var
set /P var2="" < _%2.var
if /I %var1% LEQ %var2% goto noSwap
ren _%1.var _temp.var
ren _%2.var _%1.var
ren _temp.var _%2.var
set swapped=true
goto :eof

:noSwap
set swapped=
goto :eof

:output
for /L %%i in (0,1,%total%) do call :showval %%i

:cleanup
erase *.var
set next=
set offset=
set total=
set count=
set var=
set var1=
set var2=
goto :eof

:showval
type _%1.var
goto :eof