| Dawei's profileDawei's SpacePhotosBlogLists | Help |
|
9/30/2007 Too serious...Being seriously complainted of being "too serious" for several times, by many people at many places, could be a serious problem. Working like being in the battle, behaving like a soldier. I realize I need a serious vacation. Do nothing but concentrate on being relax and focus on taking rest. And this time, I am very serious. Will be in China for vacation from Oct 4th to Oct 21st. 9/16/2007 理解《仰望星空》温家宝发表与人民日报,全文如下:
我仰望星空,
它是那样寥廓而深邃﹔ 那无穷的真理, 让我苦苦地求索、追随。 我仰望星空, 它是那样庄严而圣洁﹔ 那凛然的正义, 让我充满热爱、感到敬畏。 我仰望星空, 它是那样自由而宁静﹔ 那博大的胸怀, 让我的心灵栖息、依偎。 我仰望星空, 它是那样壮丽而光辉﹔ 那永恒的炽热, 让我心中燃起希望的烈焰、响起春雷。 大家见仁见智, 这是我的理解:
1. 暗示治国理念上一大本质转变, 从"战天斗地" 到 "敬畏天地" 追求 "天人合一". 马列主义比较崇尚暴力,和中国传统思想有些格格不入.此诗篇是个回归自我,正本清源的信号.
2. 中国社会面临最大挑战: 心灵空虚. 物质文明过速发展, 精神文明被摒弃. 整个社会, 急功近利, 心浮气躁, 短视, 缺乏理想与信仰. 暗示政府要重新加强精神文明建设的意愿。帮助整个社会从追求“发展”转变到追求“和谐”。
3. 最后一段看似有些蹊跷, 从 "波澜不惊" 到“暗流汹涌”. 是在显示一种决心去迎接挑战:民生?反腐?或是台海? 9/12/2007 文摘:寻找幸福很少转贴文章,不过这篇非常值得一读。多多少少纠正一下曾经教育误区,
几则摘录:
……
我们来到这个世上,到底追求什么才是最重要的?
本-沙哈尔坚定地认为:幸福感是衡量人生的唯一标准,是所有目标的最终目标。
“人们衡量商业成就时,标准是钱。用钱去评估资产和债务、利润和亏损,所有与钱无关的都不会被考虑进去,金钱是最高的财富。但是我认为,人生与商业一样,也有盈利和亏损。 具体地说,在看待自己的生命时,可以把负面情绪当作支出,把正面情绪当作收入。当正面情绪多于负面情绪时,我们在幸福这一‘至高财富’上就盈利了。长期的抑郁,可以被看成是一种‘情感破产’。整个社会,也有可能面临这种问题,如果个体的问题不断增长,焦虑和压力的问题越来越多,社会就正在走向幸福的‘大萧条’。”
……
一项有关“幸福”的研究表明,人的幸福感主要取决3个因素:“遗传基因、与幸福有关的环境因素以及能够帮助我们获得幸福的行动。而积极心理学,可以帮助人们活得更快乐、更充实。幸福,是可以通过学习和练习获得的。”
……
“一个幸福的人,必须有一个明确的、可以带来快乐和意义的目标,然后努力地去追求。真正快乐的人,会在自己觉得有意义的生活方式里,享受它的点点滴滴。”
……
从汉堡里,总结出了4种人生模式:第一种汉堡,就是他最先抓起的那只,口味诱人,但却是标准的“垃圾食品”。吃它等于是享受眼前的快乐,但同时也埋下未来的痛苦。用它比喻人生,就是及时享乐,出卖未来幸福的人生,即“享乐主义型”;第二种汉堡,口味很差,里边全是蔬菜和有机食物,吃了可以使人日后更健康,但会吃得很痛苦。牺牲眼前的幸福,为的是追求未来的目标,他称之为“忙碌奔波型”;第三种汉堡,是最糟糕的,既不美味,吃了还会影响日后的健康。与此相似的人,对生活丧失了希望和追求,既不享受眼前的事物,也不对未来抱期许,是“虚无主义型”;会不会还有一种汉堡,又好吃,又健康呢?那就是第四种“幸福型”汉堡。一个幸福的人,是即能享受当下所做的事,又可以获得更美满的未来。
……
为什么当今社会有那么多“忙碌奔波型”的人呢?本-沙哈尔这样解释:因为人们常常被“幸福的假象”所蒙蔽。
我们所处的社会环境和文化背景是这样的:假如孩子成绩全优,家长就会给奖励;如果员工工作出色,老板就会发给奖金。人们习惯性地去关注下一个目标,而常常忽略了眼前的事情,最后,导致终生的盲目追求。 然而一旦目标达成后,人们常把放松的心情,解释为幸福。好像事情越难做,成功后的幸福感就越强。不可否认,这种解脱,让我们感到真实的快乐,但它绝不等同于“幸福”。它只是“幸福的假象”。 这就好比一个人头痛好了之后,他会为头不痛而高兴,这是由于这种喜悦,来自于痛苦的前因。“忙碌奔波型”的人,错误地认为成功就是幸福,坚信目标实现后的放松和解脱,就是幸福。因此,他们不停地从一个目标奔向另一个目标。 …… 本-沙哈尔总结出这样3种工作境界:赚钱谋生、事业、使命感。
如果只把工作当成任务和赚钱的手段,就没有任何的个人实现。这样每天去上班,只是必须而不是想去,他所期盼的,除了薪水,就是节假日了;工作当事业的人,除了注重财富的积累外,还会关注事业的发展,如权力和声望等。他们会关心下一个升职的机会,期望从副教授到终身教授、从教师到校长、从职员到主管、从编辑到总编辑;假如,把工作当成使命,那工作本身就是目标了。薪水、职位固然重要,但他们工作,是因为他们想要做这份工作,动力源自内心。工作是一种恩典,而不是为人打工。他们对工作充满热情,在工作中自我实现,获得充实感。他们的目标,正是自我和谐的目标。
……
不同的人,会在不同的事里找到意义。如创业、当义工、抚养子女、行医、甚至是打家具。重要的是,选择目标时,必须确定它符合自己的价值观、爱好,符合自己内心的愿望,而不是为了满足社会标准,或是迎合他人的期待。“真我的呼唤”,就是使命感。
“在追求有意义而又快乐的目标时,我们不再是消磨光阴,而是在让时间,闪闪发光。”
……
为了更好地记住“幸福课”的要点,本-沙哈尔还为学生简化出10条小贴士: 1.遵从你内心的热情。选择对你有意义并且能让你快乐的课,不要只是为了轻松地拿一个A而选课,或选你朋友上的课,或是别人认为你应该上的课。 2.多和朋友们在一起。不要被日常工作缠身,亲密的人际关系,是你幸福感的信号,最有可能为你带来幸福。 3.学会失败。成功没有捷径,历史上有成就的人,总是敢于行动,也会经常失败。不要让对失败的恐惧,绊住你尝试新事物的脚步。 4.接受自己全然为人。失望、烦乱、悲伤是人性的一部分。接纳这些,并把它们当成自然之事,允许自己偶尔的失落和伤感。然后问问自己,能做些什么来让自己感觉好过一点。 5.简化生活。更多并不总代表更好,好事多了,也不一定有利。你选了太多的课吗?参加了太多的活动吗?应求精而不在多。 6.有规律地锻炼。体育运动是你生活中最重要的事情之一。每周只要3次,每次只要30分钟,就能大大改善你的身心健康。 7.睡眠。虽然有时“熬通宵”是不可避免的,但每天7到9小时的睡眠是一笔非常棒的投资。这样,在醒着的时候,你会更有效率、更有创造力,也会更开心。 8.慷慨。现在,你的钱包里可能没有太多钱,你也没有太多时间。但这并不意味着你无法助人。“给予”和“接受”是一件事的两个面。当我们帮助别人时,我们也在帮助自己;当我们帮助自己时,也是在间接地帮助他人。 9.勇敢。勇气并不是不恐惧,而是心怀恐惧,仍依然向前。 10.表达感激。生活中,不要把你的家人、朋友、健康、教育等这一切当成理所当然的。它们都是你回味无穷的礼物。记录他人的点滴恩惠,始终保持感恩之心。每天或至少每周一次,请你把它们记下来。 8/12/2007 R.Ozzie: 'The platform of the internet really is the data'It was from an interview with Ray Ozzie 2 years ago. I came cross this article while thinking about the question I have recently: What a good online service platform should be? The question may or may not be related to this interview, but the article itself is definitely worth a read. http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=349&page=1 WENDY KELLOGG: Tim O’Reilly, founder of O’Reilly Media, coined the phrase “the architecture of participation,” meaning a lot of amateur and casual programmers piling on and building interesting things off the snippets of codes and applications that are out there. What are the open APIs and standards that a developer should keep track of in collaborative applications? Do you have any tips on how to craft an API amenable to this kind of open participation, to put things out there that can get picked up and reused? RAY OZZIE: Dan Bricklin also has a great phrase, “cornucopia of the commons,” that refers to the same thing—about how the commons becomes more valuable than the different pieces that are contributed. I think it’s a very important concept and spans far beyond collaborative software. It’s really what is defining this next wave of the Internet. I believe that the platform of the Internet really is the data, and by putting data out there that is re-mixable into different types of applications, we can get interesting, unanticipated results. The most fundamental standards around that start with XML, but it really revolves around what some people call microformats, small formats that are easily understood and generated by a broad variety of applications, such as iCal, hCal, and vCard, and then encapsulating them in RSS. RSS is an extremely important standard. It’s the HTML of the next generation of the Web, or some people might refer to it as the Unix pipe of the Internet. It’s a way of channeling data from one application to another in very interesting and robust fashion. Again, I think it’s important as a technique far beyond just collaborative software." 8/5/2007 Dialog With a Tree“I own you, tree”
The wind blows the leaves. The tree is laughing. “I was born 100 years ago, where were you?” “I mean from now on, I own you.” “I will be here another 100 years, where will you be then?” “Well, now, right now, I own you!” “What can you do, even so?” “What can I do?” I am irritated, “I can cut you down, and use your trunk to build my house and burn your branches to warm up my place”. The tree seems scared. “Or I can take care of you, if...” The tree interrupts me before I finish, “I am thankful to the sun, the breeze, the rain and the earth. But none of them ever claim the ownership, why do you think so?” I do not know how to response. “Oh boy, do you really own anything?” The wind blows harder. The tree laughs louder. “I do own my soul, so I can have this dialog with you.” I replied. ==============================
Inspired by the book "The Little Prince" 7/7/2007 A Good Example of Bad DesignOriginally Posted at http://blogs.msdn.com/dawei Two weeks ago, ProClub (a.k.a Microsoft gym) introduced a new lock system in the locker room, which requires inserting your member card before locking the cabinet. I left my member card inside the lock the first time I use it. I am a discipline person, left or forgot something rarely happen to me. I only left my work badge once, even that time I was still carrying the empty badge holder.
I blamed myself for being careless. The next day, I went to ProClub to get my card back. The front desk lady was so nice to me. She went to an A4 printer paper box fully stacked with member cards. She grabbed hand full cards with last name start with “G”. I felt less guilty since my last name is only 2 characters, which could be easier for her to help me find my card back. It is all because of my carelessness. I asked her how many member cards in that box? “Few hundred” she answered peacefully and said “thanks for your patient”. I roughly estimated: an A4 box can hold nearly 4 ~ 5 hundred cards; From another angle, a hand full of cards can be 50 to 70, which all have last name start with “G”! Assuming five thousand people visit ProClub every day, nearly 10% people left their cards in the lock for the single day, and it was already the second week after the new lock system was in place. If 10% people make the same mistake, it could no longer be called “user error”. I felt relieved and I know whom I should blame – the lock designer. What’s the requirement? What is the problem the designer was trying to resolve? I asked the front desk lady, the old locks system work perfect for me and why we change them. The answer is to prevent single person from using multiple lockers. (I do not want to argue if it is a valid requirement. We assume it is valid.) What’s the design problem? I’d say the lock does not provide a way to remind the user of leaving member card inside the lock. Or put in another way, the design does not provide necessary indication of the existence of member card in the lock. How to solve the problem? Simply put, provide necessary feedback. There are two solutions in my mind. #1: make the front panel keep on flashing light as long as there is a card inside the lock. #2: after user unlocks the cabinet, the lock should keep on beeping until the owner removes the card from the lock. How to prevent this happen to me? I will program my life to prevent this happen to me again. Did I just say “program my life”? Yep, I am damn good software engineer. I will wrap my sock around the visible part of my card after inserting it to the lock. When I dress, it will remind me of removing my member card from the stupid lock. 7/1/2007 人生观与价值观本打算周日下午写一篇关于同步算法的文档,总结几个月来的研究成果。但是最近发生的一件事情,却让我心情久久不能平静。触发我写了这篇文章。
事情是这样的,有个美国华裔朋友决定辞职到中国义务任教一年,上周五是她在公司的最后一天。看了她的信后,除了惊讶后,还有理解与感动。她是一个基督信徒,二十几岁,风华正茂,意识到世界上不是所有的人都能受到平等的教育,为了自己的理想与信仰,放弃微软优厚的待遇,放弃美国舒适的生活,不远万里,来到中国。这是什么样的精神?这是毫不利己,专门利人的精神!(这段话有点耳熟)个人觉得,也许这件事情会让很多人汗颜。我们常常讨论车子,房子,法国大餐,阳光海岸度假等等。除了关心自身的利益之外,是否真的为社会,为心爱的祖国贡献了什么?(我是真想,只不过我在等我的美国绿卡啊,唉不说了……)上我BLOG的都是我的朋友,没有意思让大家感到尴尬,各有各的难处。我只想分享以下我的心情,同时在伟大的党的生日这天,发一句牢骚:我接触的上帝培养的人,比党员“实在”多了!(注:“实在”在东北话是形容词,不是副词)
述归正传,今天讨论的是人生观与价值观。前一半太复杂,我也没搞明白,暂且不谈。就谈一谈价值观吧。价值观嘛,说白了,不整“洋”的,就是对价值的看法。譬如说我那朋友,在美国一年十万美金没问题。医疗保险,健身补助等等暂且不记。在中国一年一分不挣还有可能倒贴。在美国就算扣除生活费和个人所得税,里外里五万美金没了,还不包括一年事业上的机遇成本。从钱的价值观角度看,赔大了!但是如果从理想与信念的角度上考虑,便不难理解。
别人的理想与信念,我不好揣测。这里讲一讲我的亲身体会。加州的时候我曾经接触过一个民间非营利组织,是海外留学生资助贫困地区学生的活动。一个小学生一年的学习生活费用,也许只是美国中档餐馆两个人的一顿饭钱。看着可怜巴巴孩子的照片,我的仁爱之心为之一动,资助了10个三到四年级的孩子。(这个年龄段辍学率比较高,可以参考山西煤窑童工的年龄)。我承认也许这只是妇人之仁。但是回到对价值的讨论,一顿美餐24小时灰飞烟灭(闹肚子除外),但这笔钱却可以改变一个孩子一生的命运。俺是有经济头脑的软件工程师,这笔买卖一个字:值!每当我嚼着$2.99 Subway Daily special的时候,心里这个美啊~
我想很坦诚的说一句,选择美餐或是资助他人,完全在于个人选择。完全没有高尚与自私之区别。每个人的人生观与价值观不同。最重要的是对别人的选择表示理解与包容。我只想建议尝试一下不同价值观的体验。譬如说,拿出努力工作一天的薪水,无偿奉献给最需要这笔钱的人。我不敢保证以后你会不会后悔,但是有一点我可以确信:你会从全新的角度理解金钱的价值,感悟人生的意义。
Trust me! 11/26/2006 Accuracy of DesignHow many times we realize that the software was implemented in the way very different from the original design? It is an overused example to describe the problem we are facing every day. Software engineers hate to write design document, and it will change during implementation anyway. That’s the reason I never call design doc review until I have implemented certain amount of the code and have the confidence about the design accuracy. In addtion, sometimes design docs are more about recapping what we have done rather than the guideline for implementation. I do not think it is because some software engineers are incapable to design accurately, but why? Let’s give a real life example, say you are planning the trip to the following address I am pretty sure you will do a good and accurate trip plan by using tools like http://local.live.com. What if I give you the following address (my home address in China)? Even you might have excellent trip plan, you will not very confident by issues like, foreign language, life insurance, car rental, hotel, food, medical emergency etc. It is exactly the same problem we are facing in software design - there are many vital Most of projects we are working on today are like trips to foreign countries, which we have never been to. There are uncertainties along the way and some unknown issues will not pop up until you actually get there. How to deal with those hidden issues and make your design more accurate? There are couples of lessons I have learned over years and want to share them with you. You are welcomed to add more. First of all, identify the scope. Believe or not, many projects do not have a clear scope until they are called code completed. Put in another way, the scope of software are determined by development timeline. It is not anyone’s fault. It is just nature of software development – unpredictability. I am not saying that we should clearly define the scope before design, which is not practical. However, I strongly believe we should have clearly defined and prioritized items in a pipeline, which will go into scope. An analogy: we do not have to eat everything in the plate, but we need to know what are left over there. By having the big picture in mind, we can avoid changing software design dramatically whenever we adjust the project scope. Secondly, identify the problematic items in the scope. Those items are unfamiliar to us and will cause uncertainties to the project. We do not want to get into a situation that, when the project is 80% complete and find out that a critical component is technically not feasible. Another good example is about uncertainties from non-functional related requirement. Say, we design online gaming software over some platform, later we realized that the platform cannot provide the real time messaging channel required by your gaming software. What a nightmare if we have almost completed most of our code on top of this platform? The third, eliminate the uncertainties by concept proof prototyping. This is the skill I learned back in CMU. Uncertainties or hidden issues in software development can cause dramatic architecture change or fail your project right away. To ensure we are heading the right direction, we need to do some experiments. They can be very small and even throw-away projects, however it should cover the real concern we have in mind. Actually, all three steps above should be done before the design is started! There was a myth I heard back in college when I was 20. They said, “Software development is a job like being a model, it might not be a good option for you after 35.” I had believed this for many years. Until more and more stories I learned, I realize one thing: compared to other jobs, software development values experience more, as the fact it is way more complicate. 9/22/2006 黎明 (1995年4月23日)在天色破晓之前,我爬上高耸矗立的山巅,仰望远处无边的大海,深蓝的天幕,和那璀璨的星辰。
白日里如此喧嚣的城市,平静的躺在我的脚下。她从睡梦中醒来,张开惺忪的双眼看着我。忽明忽灭的街灯依稀地点亮在城市的角落。这些灯光如此柔弱,却又如此执著。它们孤独而又坚强地送别停留许久的夜,却依然从那疲倦的眼眸中流露着笑容。它们在企盼着晨光的撒落。
山顶偶尔有一两片浮云流过。这浮云的气息清凉湿润,凝结着大海的呼吸。而海,似乎比谁起的都要早。她怕惊扰人们的好梦,只是轻轻地送着一只只满载的船舶。船儿在母亲的怀抱中,撒娇似的吟着,吞吐的烟雾,向自己的彼岸驶去,渐渐消失在海天相交的曲线中……
又是一个黎明的时候。我沉醉在这一切的美丽之中,第一次感到时间流逝如此之快。就像这眼前的景色,转瞬便会消失,从此无法寻觅。
青春亦是如此,美丽而短暂!
我独自伫立山巅,双手合在胸前。就让我的灵魂去宇宙飘游吧!我要去感受它的心跳,去向时间祈求永远。
=================================================
PS: 今夜偶尔翻开17岁写的日记。深深被这篇积极向上的文章所感动。 9/20/2006 罪上帝在追討人們犯下的罪
我們無法逃避
不死的良心逼我們去懺悔
曾經的夢想讓我們感到卑微
親愛的,告訴我
怎樣才能幫你洗刷你的罪? 我有熱血、我有汗水,還有一滴眼淚 親愛的,告訴我
怎樣才能幫你洗刷你的罪?
我什麽都願意給 愛過、錯過 錯過、愛過 今生無悔 9/9/2006 RainRain
Like spirits in the dark Following me wherever I go I have no place to hide Rain
Like the wavering streetlight Flowing through the windows Dancing by my side Rain
Like the stars in the sky Though I can not see their faces They are singing with blinking eyes Rain
Makes this moment so quiet So I can see through myself And enjoy this peaceful night =================================================
What will happen if all the programmers start writing poems instead of code?
Hahahaha... 8/31/2006 赞 Mt.Rainier七月秋老虎 难耐酷暑 幸有华盛顿湖水浸我足 霓裳敷在肚 万年冰雪顶上头颅 悠哉悠哉 莞尔四顾 万里疆土 谁与争锋 罢了罢了 偏爱这份自在 难得糊涂 ============================================ ps:返美飞机在西雅图Mt.Rainier身边降落时看到有感而发 Today is the dayWaked up at 4:00 AM in the morning, as planned. Then I ate and drink the stuff I prepared yesterday. The race will be started in 45 mins, and I am stretching and warming up my body now. The temperature outside is 57F (14C), cloudy but not very windy (7mph), which is just perfect.
All other joggling buddies will do half this time, so they will wait for me at the finishing line. Lei will be there too, I told her I might be back any time after 9:00 AM. This makes me a little bit nervous, because I hate to make people waiting, it adds pressure on me. :) Anyway, My target finish time is 3 hours 30 min to 3 hours 45 mins.
I have been seriously preparing for this race for pass 3 months. According to the plan, I only did 20 miles twice. I am not sure what's going to happened in the last 6 miles. But I think, I can make it. Yeah, it is going to be a new record in my life.
I archieved 368 miles in past three month. The thing I am really a proud of myself is that, I followed the plan exactly and did not miss a single day, no matter I was travelling, I was sick or it was raining, windy or whatever... I am going to know the result in a few hours, but it is not that important, because I have already accomplished the most challenging part. :D 6/24/2006 Good tryNike Wool trail running sock $8.50
Fuel Belt 5K 2 Bottle Belt $34.25
Garmin Forerunner 205 GPS Watch $205.00
Finish 20 miles at temperature of 88F directly under the sun
......PRICELESS
I am toasted! I seriously got dehydration at mile 15. Lesson learned
Will be another (also the last) 20 miles training in two weeks. Will be better planned. |
|
|