显示标签为“读书笔记”的博文。显示所有博文
显示标签为“读书笔记”的博文。显示所有博文

2011年6月21日星期二

读书随笔

今天下午觉得工作效率很低,所以不想上班,直接回家,随手写一些东西吧。
最近工作效率很低,刚刚读了《程序员的思维修炼:开发认知潜能的九堂课》,才明白多任务处理对生产力会造成重大损失,工作时我常常喜欢多任务工作,看来这是错误的。
书中提到:

一项研究发现,一般情况下,多任务处理将耗费你20%至40%的生产力。多任务处理在这里是指在不同的抽象层次上执行多个并发任务。而在同一代码区域休整几个错误不能算作多任务处理,回几个类似的电话或做多道菜也不算。当你中断代码修正而去回应无关的即时消息、电子邮件或电话时,或者快速浏览新闻网站时,你才会遇到麻烦。
科学家认为,试图把注意力同时放在几件事情上,意味着你在每件事情上都会处理得很差。如果你持续中断正在进行的任务,去检查电子邮件或者回复即时消息,你的有效智商会下降10分。相比之下,吸大麻烟卷导致下降的智商仅4分。


前几天读了一本书《The Research Student's Guide to Success》,上面提到PhD的定义,很有趣,但是很真实。


“A PhD is about finding out more and more about less and less until one eventually knows everything about nothing.”


据《程序员的思维修炼:开发认知潜能的九堂课》说,成为专家之前的积极的实践需要四个条件:


1.需要一个明确定义的任务
2.任务需要有适当的难度——有挑战性但可行
3.任务环境可以提供大量反馈,以便于你采取行动
4.提供重复犯错和纠正错误的机会


继续谈编程:
最近常常使用复制-粘贴式编程(把Google作为IDE的一部分),很多情况下缺乏思考,这样不可取,这绝不是积极的实践。
好的程序员能写出人能读懂的代码,这谁都知道,但是我们是否常常问问自己,自己是否以“好程序员”的标准来要求自己,去写让人读懂的代码。
刚刚还看到一个有趣的说法,很深刻:


Programming as an intellectual activity is the only art form that allows you to create interactive art (编程能够创造出交互式艺术作品的艺术形式). You can create projects that other people can play with, and you can talk to them indirectly. No other art form is quite this interactive. Movies flow to the audience in one direction. Paintings do not move. Code goes both ways. [出处]


[出处] http://learnpythonthehardway.org/book/advice.html

2011年6月20日星期一

随机性

很久没有写读书笔记了,最近也没有读什么“闲书”,忙着啃一些工作上需要的工具书。今天来简单记录一下这个周末读的《随机致富的傻瓜》,让人看得入迷,美中不足的是中文版翻得有些生涩。纳西姆·塔勒布(Nassim Taleb)的这本书妙趣横生,有很有知识性。
以下是一些书摘,作者的观点独具一格,令人玩味无穷:

这本书提到了三个锦囊:
一、偏态。概率分布上的不对称,黑天鹅事件的出现就是最典型的偏态。现实意义就是失败的代价过于沉重、难以承受,那么这件事成功的概率有多高都无关紧要。
二、存活者偏差。由于我们只看到成功者,而由此形成对机遇的歪曲看法。比如说我们认为长的漂亮的人薪水比较高,其实是我们只会注意那些薪水比较高的人,或者说那些薪水比较高的人容易引起我们的注意罢了。
三、路径依赖。有点像物理学上的惯性,人们过去的选择决定了他们现在和未来可能的选择。要完全摆脱路径依赖,就要完全不受过去行为的束缚,摆脱了路径依赖,每一天来说都是一张白纸。

时间尺度短的新闻充斥噪声,时间尺度长的历史中噪声则多已剔除。

如果一年报酬率为15%,波动性为每年10%,那么,任何一年赚钱的概率为93%,一个月为67%,一天为54%,任何一秒赚到钱的概率只有50.02%……在很短的时间尺度内,我们观察到的是变异性而非报酬率,也就是说,噪声湮没了有用的真实的信息,使我们情绪失控痛苦不已。

投资人和企业要赚的不是概率,而是白花花的钞票。因此对他们来说,某个事件发生的可能性多大并不重要,重要的是那件事发生时能赚多少钱。利润出现的频率有多高并不重要,结果多少才重要。

财务工程financial engineering的应用就带有浓厚的伪科学成分。应用这些方法的人,衡量风险是以过去的历史作为未来的指针。这里我们只想说,由于分布有可能缺乏定常性,这整个观念可能大错特错,且必须付出非常惨痛的代价。

致富纯粹是自私行为,不是社会行为。资本主义的优点在于社会能够善用人们的贪婪,而不是他们的善行,同时也不需要颂扬这种贪婪为一种道德后知性成就。成为有钱人不是一种道德成就。

常识不过是18岁以前学到的错误观念,路径依赖是理性思考的敌人。

容易受随机性愚弄的性格特征:
1、在某种程度上过高估计了自己信念的可命性,不是经济学意义上的就是统计学意义上的。
2、有与仓位联姻的倾向。死抱住一个思想不放对交易员、科学家或其他任何人都不是好事情。
3、经常变换说法的倾向。赔钱的时候会就变成“着眼于长远利益”的投资人,在交易员和投资人之间来回摆动,根据命运的最新变化而给自己定位。
4、事先没有确切的行动计划来应对万一出现的赔钱局面。他们干脆就不知道有这种可能。在市场急剧下跌,并没有依照事先确定的方案反应以后,买了更多。
5、不会做批判性思考。这表现在,不能用“止损”的方式修正他们的态势。
6、拒不接受。在出现损失的情况下,没有表现出明确地接受现实。

我们有必要在知识中接受不对称;有些情况下,利用统计学和计量经济学是有帮助的。但我不希望自己的生活依赖于它。如果统计科学能够在哪些方面给我带来好处,我就用它。如果它带来一种威胁,那么我就不用。我要去掉过去资料中的危险成分,只利用它的精华。在此前提下,我要利用统计学和归纳法来下富有进取性的赌注,但我不会用它们来对风险和资金损失进行管理。根据从一些观察中得来的想法(其中包括过去历史)进行交易,然而又采取措施以确保如果他们弄错了的话,损失会限制在最小的范围内(而且这种概率不从过去数据中得出)。在采用一种交易策略之前就知道哪些事件会证明他们的想法是错误的,而且为此留下余地。一旦那种情况出现,他们就会中止交易。这叫做止损点(stop loss),这是一个预先确定下来的退出点,是一种防范黑天鹅的措施。

要重新建立一个较少信息、较多决定性的古代社会,好比说生活在19世纪,但同时还要能享受到技术进步的一些好处,一切医学领域里的突破以及我们这个时代在社会公平方面取得的所有成就。这样一来我就拥有一切事物中最好的东西了。这就叫进化。

人们总把科学与科学家混为一谈。科学是伟大的,但科学家个体却是危险的。他们是人,人类所具有的认识偏差他们都具有,而且可能更甚于普通人。因为多数科学家都比较顽固,否则他们哪来的那种耐力和精力去完成交给他们的那些艰巨任务。 科学家有时不得不像个廉价的辩护律师一样行为,而不像个纯正的追求真理的人。

命运女神唯一不能控制的东西,是你的行为。

 

最后我来说一下:其实我们经常低估随机现象,在生活中我们对于随机性的无视与误解随处可见。重视随机性,使用随机性对生命以及的钱财进行了解,这样才可能避免风险。

2010年9月2日星期四

扔掉所有拖住你的东西,让生活更加轻松愉快

这几天读了一本书《丢掉50样东西,找回100分人生》
如果你有很多杂物,废物,那么你也许需要看看这本书,学学如何丢东西。

你知道要丢掉哪些东西吗?这本书中提出的丢弃规则很简单:


    第一,任何事物,不管是看法或信念、回忆、工作、甚至某个人,只要让你心情沉重、阻碍你,或单单只是让你对自己有不好的感觉,那就把它丢掉、送走、卖    掉、抛开,继续前进。
    第二,如果它(请参阅第一点)只是摆在那里占空间,对你的人生毫无正面贡献,那就把它扔掉、送走、卖掉、抛开,继续前进。因为不进则退,丢掉负面的东    西,可以帮你重新发现正面的事物。
    第三,无论要丢还是要留,都不要让决定变得很困难。如果你得花很长的时间权衡利弊,或是烦恼不知该如何是好,那就丢掉!
    第四,别害怕。这是你的人生——-你唯一确信丢不掉的东西。你没有多余的时间、空间或精力留给那些有形还是无形的杂物。

书中谈到清爽的家,会发生好事。其实会发生什么好事,谁都不知道,但是丢掉根本毫无用处的东西,绝对会让人神清气爽呢。
如果开始丢东西,那么还有一点要记住:千万别扔掉别人的东西,这可能会让他们火冒三丈。
工作地方的废物会削弱工作的力量,把它们丢掉吧。
我们还需要丢弃不好的情绪,活出属于自己的人生。

对了,还有一句话很有用:"记住,如果你必须花很久的时间权衡扔掉某样东西的利弊,那就扔了!"

 

接下来,谈谈我个人的经验吧。

按照这本书上的方法,我刚刚丢弃了很多本食谱,这些食谱我大概只看过一遍,以后几乎不看它们。
其实大部分食谱都有线上版,很快就查询得到。
我常常使用的方法就是打开冰箱,看看还剩什么,然后把这些东西的名称一股脑儿输入google进行搜索,一定会找到自己满意的食谱的。

科技不断推陈出新。我已经再也不听CD了,我前不久扔掉了大部分CD,只保存几张有纪念价值的。我也和很多人一样认为,电子书是未来的趋势,也许未来我们也不需要再买那么多实体书了,即环保,又方便整理查找。

最近我也丢掉了百分之九十以前读硕士时的笔记和打印资料,在德国因为专业书籍非常贵所以当时我的书都是打印和影印的,所以非常多,大概有2大箱。去年搬家的时候不舍得扔,这两大箱具重的资料和我一起痛苦地搬了一次家。在过去的一年,我根本没有看过这些资料一眼,其实它们对我来说也几乎没有用处了,它们唯一的价值就是可以唤起一些读书时的记忆,其实当我需要找什么知识的时候,上网一搜或到图书馆一下就搞定了。现在我只留下了部分笔记,也算是留点纪念吧。

其实对我们来说没有用的东西就是会拖住我们的东西,扔掉它们,我们的生活会更加轻松愉快。

DSC00740

PS: 附图是我生日是得到的一张卡片,上面有海因里希·海涅的一首诗,很美,现附上诗词:

Heine,Heinrich (1797-1856)
Der Schmetterling ist in die Rose verliebt(蝴蝶爱上了玫瑰)

Der Schmetterling ist in die Rose verliebt, (蝴蝶爱上了玫瑰)
Umflattert sie tausendmal, (千百回围绕她身边)
Ihn selber aber goldig zart,Umflattert der liebende Sonnenstrahl.(充满爱意的阳光,温柔的缠绕着蝴蝶)

Jedoch, in wen ist die Rose verliebt? (然而,玫瑰爱上的又是谁?)
Das wüßt' ich gar so gern. (这我真的很想了解。)
Ist es die singende Nachtigall?(是啼唱的夜莺?)
Ist es der schweigende Abendstern?(还是星星,黑夜沉默于?)

Ich weiß nicht, in wen die Rose verliebt;(我不知道玫瑰爱上的是谁;)
Ich aber lieb' euch all?: (但我爱的是你们,全部这些:)
Rose, Schmetterling, Sonnenstrahl, Abendstern und Nachtigall. (星星,夜莺,玫瑰,还有阳光和蝴蝶。)

2010年7月27日星期二

推荐一本书《摆出好POSE:美少女外拍动作完美图解》

DSC00142 附图为法兰克福一个商场的大型乐高积木。

很久没写书评,今天另类一点,写一篇关于一本摄影的书。
因为这本书的书名出现“美少女”,“完美图解”,这几个关键词,大大提高对我的吸引力,我这个摄影入门小白,才会想提起兴趣翻翻这本书,读了一下,其实还真不错嘛。
正如这本书的简介说的。
会玩相机,人像摄影只能算成功了一半,让模特儿摆出美丽的POSE才是成功的关键。
如何摆出美丽的POSE其实也是一门小小学问。看了这本书后,一定会有所收获的。

 

你知道吗,拍摄时模特的基本站姿应该怎样?
摆站姿时,如果想表现出模特儿修长与美丽的腰,可以请模特将重心放在远离镜头的脚上,靠近镜头的脚则稍微往后伸展,并让脚尖轻轻着地,放在腰上的手可以稍稍用力往前推一下,加强凸显腰部曲线。
还有一些小技巧,这里摘抄几点。

站立时,较靠近镜头的手记得要有点动作。
在椅子上时,两脚前后分开会比两脚放在一起来得美丽。
性感的蹲姿,比较适合侧面。

 

这本书的绝大部分篇幅在于"外拍好POSE全图解"这部分。
这部分主要是日系清淡风的动作,比较自然,亲和力也够,书中MM够可爱。
里面提供了有上百种拍照姿势,只要照着书上的例子来摆POSE就可以拍出不错的照片。
里面有很多快速简单的技巧教学。
这里随便摘抄一些。

侧躺比较好拍,用手将头撑起来会比较好,腰部往地上压,这样身体的曲线才会出来。
如果可能的话,坐在墙上眺望远方是一个不错的选择。
在墙边,可以让模特背靠墙,目光向下看,可以呈现出忧郁可怜的气质,如果墙上有趣味点如涂鸦,可以请模特与其互动,增加画面的趣味性。
用广角时,可以使用夸张动作,例如摆出一个相框。
稍微侧面的微笑,通常会比正面更吸引人,更活泼有变化。
手不知道放哪里时,就找个身体部位摸吧。摸耳朵,头是最常见好用哦,摸的时候轻轻碰到即可,不要太用力压迫到肌肉导致变形。

 

最后来一个总结。
很适合新手,简单又非常实用的书,更重要的是书中的MM都非常养眼,即使不学摄影,看看可爱的MM也是不错的,哈,推荐一下。

2010年6月14日星期一

闲来谈谈理财

金融学上有所谓72法则、71法则、70法则,用作估计将投资倍增或减半所需的时间,反映出的是复利的结果。
计算所需时间时,把与所应用的法则相应的数字,除以预料增长率即可。例如:
假设最初投资金额为100元,复息年利率9%,利用“72法则”,将72除以9(增长率),得8,即需约8年时间,投资金额滚存至200元(两倍于100元),而准确需时为8.0432年。
要估计货币的购买力减半所需时间,可把与所应用的法则相应的数字,除以通胀率。若通胀率为3.5%,应用“70法则”,每单位之货币的购买力减半的时间约为70/3.5=20年。

股票投资比重股票投资适当比重=100-年龄/100。风险与报酬成正比,对一个30岁的年轻人,追求成长,适当地投资股票比重是七成(100-30/100);一名70岁的退休者,股票投资就不宜超过三成(100-70/100)。这个法则是国外教科书推荐的法则,那么在国内,我们应把100变为社会平均生活年龄,比如80岁,或75岁。

活期存款"6个月生活费"活期存款利息极少,存多了则浪费,存少了怕不够家庭应急。一般来说,活期存款为个人或家庭6个月的生活支出最合适。

金融资产1:1固定资产,家庭金融资产(存款、基金、股票、债券等等)和固定资产(房产、汽车、商铺等等)的比例最好为1:1。

保险 "10定律"
保险额度为家庭年收入10倍,总保费支出为家庭年收入的10%。

以上内容来自维基百科及网络。

images_starbucks 

好了进入正题。
还是要坚持每周至少一篇博客,今天写一个简单的读书笔记吧。
最近稍微简单地翻阅了一本书《喝星巴克咖啡的女人VS买星巴克股票的女人》韩国财经专业记者的金姬姃写的书,其实这本书还是挺有趣的,闲来无事的时候看看还不错,可以汲取很多的新知。
男生看看这本书也不错。
从这本书中我了解了一个最浅显而常常会被人忽略的道理:
理财的首要目标在于累积资产管理的能力。

书中也谈到了我在上面摘出的72法则和股票投资比重股票投资适当比重等等概念,很多人一定都知道吧,哈,我一点都不知道,我还是通过这本书才知道的。
所谓真正了解理财,其实要先摆正观念。
就是要先摆脱一获万利的甜蜜诱惑。
然后知道什么是理财。
书中提出:
理财就是将管理的“理”与钱财的“财”合在一起而成的辞汇。理财一词让人有种庸俗,金钱游戏的感觉。但若将理财视为资产管理来看的话,感觉又如何呢?这就
让人有种是对人生长期规划的感觉。因此,专家们为了避免“理财”一词给人一种金钱游戏的负面联想,有时也会使用“资产管理”的说法来代替。
我们应该做什么呢。
首先是放弃所谓的“一获万利”的白日梦,别想不劳而获 。
然后相信自己,透过持续性的资产管理,来达到经济独立,同时借此增加自己的财富。
具体来说就是,每个星期花点时间,彻底掌握经济与金钱的走向,进行稳定的投资,慢慢达到致富目标。

其他的理财方法我这里就不提了。
这里谈谈投资股票。
这本书提到,投资股票,买一股是一股。
但是我们真的知道,该如何投资股票。
其实买股票的时候我们永远不可能买的最低或最高。应该会买到不高不低的价格吧。其他的其实并不需要关心吧。
我们应该参考技术图形或消息吗。
其实做长线投资的时候,我们应该知道一些的内容。

知道这家公司是干什么的,它的思想和理念是什么,有什么主业副业。会不会倒。
这家公司市盈率等参数是什么。平均交易量,流动性,是否存在大量关联交易。
它在什么行业,这家公司的行业地位。这个行业是否会相对其他行业具有较高的成长性。
它的产品或者提供的服务,是否有大量的消费者愿意使用(这一点可以观察一下自己身边的人)。

最近读的“闲书”明显少了。与其说是比较没时间,其实是比较懒。
自己的一个小感受,读书还是很重要的,读一本好书就像听智者聊天。
不仅感受智慧还会发现差距,接受新知。有时间还是一定要多读书啊。

2010年6月2日星期三

读书笔记:《写给生存不安的年轻人》

现在想开始改变博客风格
在编排方式也做一些改变并减少一些所谓偏技术性的文章
排版的方式将以让人看起来不累为指导原则
增加一些随笔,读书笔记和心情感悟

前不久看了《写给生存不安的年轻人》这本书
强烈推荐
这本书也是当年日本AMAZON商业类榜单上的畅销书
作者是一个日本人山本真司
其实日本人写的商业类书籍在很多情况比较符合我们中国人的需要
这本书谈到年轻人要做到脱颖而出
要实行差异化策略
找出感兴趣的领域
每个人都有其自身优势
如果能在自己有兴趣的领域发挥自己的创造力
那么距离成功也就不远了

很多书都谈到了目标为导向的学习法
这本书也提到了这种学习法的优点
最重要的是这种方法极具针对性和效率
简单而言就是越专注越有效率
知识爆炸的时代
新的知识永远学不完
我们所需要的就是别人无法取代的实力
而这种实力的取得
其实一是靠积累
二是靠本书所提到的目标为导向的学习法

很多年轻人都希望拥有MBA学位给自己加分
然而什么是MBA
MBA的核心和精华什么?
我认为很多人和我一样并不是真正地了解
这本书提到
其实MBA就是不外乎以下这些方面
logical thinking,investment,finance,marketing,corporate strategy
请摆脱MBA情节
其实MBA并没有什么
对一个年轻人而言
拥有一个MBA学位
已经无法创造出差异化竞争力
其实我们大可以自学
重点掌握MBA精华

学海无涯而我们的时间有限
我们要做到的其实只是通过目标为导向的学习法
然后注重「软性技能」
发挥创造力
突显自己与众不同之处
创造差异
整体不要看局部
努力和专注提高自己的“核心竞争力”

2010年4月13日星期二

一些书摘分享

因为师兄在度长假,项目头不在,项目无法继续,所以我也给自己放了10天加长版的复活节假期,明天开假期就结束了,又要开始努力工作。这个假期里,读了很多以前想读的但是没有时间读五花八门的书,并且在很多地方大把大把地浪费时间。
最近读书时,做了一些书摘,以下是个人认为比较好的观点,在这里给出和大家分享:

上司分配给下属的工作并不是打算要你百分之百地完成。也就是说一般分配给你的是120%~130%,而你完成110%就足够了。这种时候,也需要通过提高业绩,来增强回绝130%工作量的底气。

“选定不必做的事比选定需要做的事”起码重要两倍以上。这是因为增加要做的事也不一定能有效地管理时间,但是只要我们能够确定哪些事我们不必做,就能切实有效地管理时间。

《时间投资法》


拥有信息的人-聪明人合法地从没有信息的人-不聪明的人那里卷走金钱。只要你成为信息的提供者,那么你就可以轻松收集到你所需要的信息。

开口说话或者写电子邮件的时候,一定要清楚地意识以下四个方面:

1. 要清楚自己希望向对方传递什么样的一个整体感觉。

2. 要清楚用框架对这个整体感觉进行分解后,会变成什么样的结构。

3. 要清楚简化后,最重要的信息内容是什么。

4. 要清楚这这个信息内容中,有必要向对方传递的层次信息是什么。

提升10倍人脉的建议:

1. 给予信息

2. 提高电子邮件的质量,扩大联系。

3. 有效利用公共邮件列表,使之成为大家集结的重要阵地

4. 善于利用午餐会

5. 尊重自己的交流方式

《效率提升10倍的google化知性生产技巧》

吸引力法则(想什么给什么,像万有引力,改变思想就可以改变状况),想象,学会使用自己的身体,更要学会使用自己的心灵。预先创造生活。心和想法非常重要。想象美好的人际关系。爱自己。我要什么的方式思考。感恩。

《秘密》

 

升官是和老板认为你是有多少本事有关和一个人的未来价值,而不是你真实的实力。观察组织未来的需求,做好准备,积极主动幽默开朗。推销自己的想法。不要批评任何人。

《老板选谁一起喝啤酒》

幸福就是,当你设定一个目标,你在奋斗的时候感觉快乐,你实现目标的时候也感觉快乐。

《幸福的方法》

 

在新大陆经济环境中,能坚持到最后的企业多数都是项目型企业,他们也将成为今后的主流。因为比起容易因循守旧的金字塔式组织结构,项目型组织结构能更快更灵活地应对市场变化,更适合企业不断创新和发展的需求。
成功人士具有以下三个共同特征。第一,他们深知人生就是不断挑战,不断冒险的过程;第二,做自己想做的事情,而不管别人是怎么看的,也不计较收入的多少;第三,具有强烈的欲望,不断进取。一句话,他们是典型的“冒险家”。他们并不追求“安居乐业”,而是不断挑战自我,证明自我,即使失败了,也会笑着面对人生。

《再启动》

还有部分书摘,这里我就不给出具体出处:

建立自信,是成功的不二法则,自信不需要与任何人做比较,在这个世界上,每个人都有自己的特质与优点,我们不需要和任何人比较,也不需要永远认为自己不如其他人。如果总是抱着“我比不上其他人”的想法而对任何事情退缩,那将永远没有扭转命运的可能。
如果你觉得自己很努力了,那么就问问自己:我是否努力得感动了别人甚至是感动了自己呢?
不能只有专业化,工作需要职业化。
学历可以作为一种衡量我们工作能力的信号。即使毕业于同一所大学,在找工作时,根据你的专业不同,受到的评价也就不同。入学难度高的专业的毕业生要比其他专业的毕业生拥有一定的优势。
读书无须太多规矩,重在以量取胜,带着问题读书,对信息加以筛选。

2010年2月7日星期日

本周编程乱弹及《编程匠艺》书评

snow_upb_2010 附图是家附近的雪景,大概一个月雪都没化,德国今年真是非常非常冷,雪也下得相当疯狂,地球变暖?还是真的似乎进入了“小冰河时期”。这个星期当然还是继续坚持“每周五天,信息斋戒”。

这星期接触了ICE,相当不错并很有趣(简介:“Internet Communications Engine”,是一个中间件平台。作为一个高性能的互联网通信平台,ICE包含了很多分层的服务和插件,并且简单、高效和强大。与硬件架构无关,编程语言无关,完全线程化,采用TCP、IP 和UDP作为传输协议,客户端和服务器代码都不需要了解底层的传输机制。),并实现了一个应用。还在做一个重构,进行中,采用了一个方法,就是对这个重构任务进行分解,把他们分成非常小的工作单元。并使用了原型设计过程,创建一些可丢弃的原型。个人认为原型设计过程在一定程度上可以说是非常高效和稳定。最近还改了一些编码风格,以便更为适应我们内部的编码风格。

这个星期也和一些bug战斗很久,因为一些指针的输入错误或糟糕的指针算法在以前的代码中,产生了很多的段错误(简介:也称为“保护缺陷”。源自程序访问那些并没有分配给它们的存储单元,涉及,都非常容易造成这种错误。说白了就是“访问了不可访问的内存”)。个人经验教训就是: 千万不能盲目,一定要清楚这些代码如何运行,编写代码一定要谨慎,并做到更谨慎做更多“防御性编程”,这样才能更好地防止bug出现。

但是这个星期最大的经验教训,就是明白了一个道理:“程序的记录分类很重要,一定要要好好总结整理”。以前编过一个测试服务器网络的程序,居然忘记曾经编过,这个星期四又编了一遍,而且还不会编了:-( 极度痛苦,最后,突然发现以前的代码,当时真是泪流满面。这个星期,师兄对我上传的代码进行了代码审查据说这是提高自己的最佳方式。这也的确提高了我对代码的责任感,强迫自己提高代码质量,修正自己的代码更加易于理解,消除所有重复代码。

最近进行了很多思考,项目压力下,反而进行了更多的思考,总结。常常在想如何能够“创作出组织良好而且易于理解的代码”,并阅读了《编程匠艺》,挺值得推荐的。这里将我在豆瓣的书评附上。

 

据说,传说中理想的程序员应该具有以下品质:
政治家。必须很老练,去应付那些怪异代码猴子的小过失,能够协调人员。
亲切。可以愉快的和别人合作。
艺术感。可以设计出优雅的解决方案。
技术天才。编写的代码可靠耐用。
也许我们还远未达到这种地步。但是从这本书中可以体会并学习:理想的程序员的“一些实践经验,一些思考方式,一些正确的心态”。
我很喜欢阅读这种类型的书,读起来非常轻松,不是什么纯技术类的图书,但是从中又可以获得很多系统化的知识。这本书共有24章,很厚,但是每个章节间是“松耦合”,每章的结构相似,先分要点讨论一些问题如编程的各个要素或一些编程问题,最后总结,思考,再提出一些深入思考等等,我们大可以每天随意的找一些有兴趣的东西读一读。
书中有很多生动,睿智之语,有一句话印象比较深刻:“构建软件就像犯罪一样:当有组织时,就会做得更好。”
个人认为,程序员不要一味学习高深的编程技术,要更加关注编程的思想,方法,态度,这本书绝对适合放在案头,偶尔翻一翻,提醒自己是否像优秀的程序员一样思考和行动。当然了知易行难,将这些思想,方法,态度应用在实际工作中是一个很困难或“痛苦”的过程,但如果可以坚持实践,并结合自己进行深入思考,这样定可以向传说中理想的程序员前进。
附注,网上有很好的读书笔记,做的很仔细很完整,推荐,如果没有时间阅读本书,可以直接阅读这份笔记,网址如下:
http://www.cnblogs.com/wing011203/tag/编程匠艺/

2010年1月4日星期一

读书:Nnil Fiore《战胜拖拉》 2

Chapter 5. 克服行动的障碍 

三大障碍:对某项任务无法做、做不成功与完不成的恐惧。 
即时习惯策略的工具:(1) 三维思维与逆向日程,用以战胜无从下手的感觉;(2) 忧心处理,用以应对对失败和缺憾的担忧;(2)坚持不懈的开始,用以应对对完不成任务的担忧。

工具一:三维思维和逆向日程 
应避免的几种情形:(1)坚持要知道从哪里着手开始才是正确的;(2)不在项目进行过程中给自己设定时间学习、在每个步骤中建立自信并向别人寻求帮助;(3)自责于仍处于开始状态的现实,并且告诉自己:“我应该已经完成了。”

Chapter 6. 逆向日程表 

逆向日程:逆向日程从项目的整体最后期限开始,然后一步一步地往回推演,知道你现在所处的能够集中精力着手开始的地方。

逆向日程表开始时,以30分钟为目标。

制度:无忧休闲。高质量工作。逆向日程表。

使用逆向日程表(逆向日程表。可以给各种活动选用不同的颜色。):

1. 只安排下列时间

    a. 先前已经决定好的时间,比如吃饭,睡觉,开会。

    b. 自由时间,休闲,休闲阅读。

    c. 交往,和朋友吃午饭,晚饭。

    d. 健身运动。

    e. 常规事物,比如沟通,上课。

2. 只有当你完成了至少30分钟之后,再把有关项目的工作列入逆向日程表当中。

3. 只对哪些代表着至少30分钟不间断工作的工作时间段予以好评

4. 在每个时段的工作结束之后,奖励自己休息一次,或者是换到另一件更为愉快的工作任务中

5. 跟踪每一天,每一个星期用于高质量工作的时间。

6. 每个星期始终流出一天的时间,用于休闲和处理任何你希望处理的杂务。

7. 在决定前往参加某项休闲活动或者公益活动之前,拿出仅30分钟的时间用于项目中的工作。

8. 集中于开始。(把所有有关完成的思想都去掉,换成对可以何时,何地,以何事开始的考虑。)

9. 着眼于小处。(仅以30分钟的高质量专注工作为目标。)

10. 保持开始状态。(忘记工作的完成。)

11. 别在最后倒下。

Chapter 7. 喷发状态

高效而专注的状态: 
(1)多用大脑:你要进行创造性的工作,那么大脑中的批判与逻辑的功能(通常被归因于左半脑)就必须暂时搁置起来,让创新的功能(通常被归因于右半脑)引发你所需要的创意与灵感。 
(2)只是你的初稿:时刻提醒自己这是初稿,不拿去和理想、终极的目标进行过于苛刻的比较,这样有助于克服因完美主义而造成的拖拉。 
学会集中注意力:进行专注性练习 
(3)专注性练习:(1) 放松:端坐在椅子上,脚掌平放在地面上,双手搁在大腿上,注意力集中在呼吸,深吸一口气,屏住一段时间,再缓慢吐出,如此三次,想象自己的紧张感随空气吐出了。(2)躺下:注意力转移到椅子上,让自己瘫倒,只让椅子支撑自己,放松所有紧张的肌肉,把注意力转移到双脚上。继续呼吸,呼出残余的紧张感,尽量放松,让身体赐予你更多的轻松和支持。(3)眼睑:继续放松,感觉到眼睑的沉重,让它缓慢滑下,当你闭上眼的时候,让放松感向下流动,充盈于整个身体。(4)自我对话:让过去消失(深呼吸3次,过去对于工作的看法、刚刚做的事情、一直告诉自己该做或不该做的事情,你的身心不再被过去牵绊);让未来消失(深呼吸3次,不可预知的后果、对未来工作和最后期限的焦虑,你的身心不再被未来牵绊);集中于当前(深呼吸3次,给自己积极的心理暗示)。 
(4)将喷发状态融入计划

Chapter 8. 对进展进行微调

(1)计划中的倒退:能够帮助反省 
(2)弹性与刚性:(1) 弹性:恢复的能力,从不如意和挫折中迅速恢复,随时准备调整;(2)刚性:决心、控制和挑战三种人格品质的结合,抵抗和避开潜在危险的能力; 
(3)集中注意力——克制杂念:杂念至少存在5种类型:(1)强烈的情绪:这是值得立即关注的,抽出十分钟思考,并处理它。(2)危险的警示:建立起安全网,把威胁清除掉,减轻对压力的反应,减弱它让人分心的警示信号;(3)想着“要做的事情”:突然蹦出来的杂事,将它记在记事本上,等高效率工作完成之后,在做这些杂事当作奖励。(4)逃避现实的幻想:记录下来,等工作完成之后对自己的奖励,记得推迟满足感的能力。(5)模糊的创意:记录下来,或者让它自由发展。——综上:通过辨清和记录这些杂念,能最大程度降低你工作中断的可能性。 
(4)精神演练和预先设计 
(5)有效目标设置:要有能力放弃那些在近期内不可能实现或者开始着手去实现的目标,从而能够专注于当前某个可以实现的、能给你带来成就感的目标。记住,你是目标的主人;不要让不现实的目标成为自我批评,并且把自己当成一个拖拉者的原因。作为一个高效者,你知道哪些目标需要全心全意地去追求,哪些目标需要不屑一顾地放弃。 
(6)避免受挫:保持一种刚性以处理任何目标实现的过程中必然出现的挫折:(1)认清拖拉的付出;(2)自由选择整个目标;(3)树立实用且现实的目标;

Chapter 9. 和拖拉者一起生活

(1)引入承诺,而不是要求顺从。 
(2)专注于开始,而不是专注于结束。 
(3)给予赞扬,而不是批评。 
(4)清晰陈述你的优先事项;果断;回报要公平、频繁;给予建设性意见。

2010年1月3日星期日

读书:Nnil Fiore《战胜拖拉》 1

战胜拖拉读到这本书时,真是爱不释手。我就有拖延症,看了这本书后,才了解到,其实拖延本身只是一系列心理问题的结果。其实,拖延是一种逃避方式,让我们可以暂时远离痛苦和压力。但拖延是极度有害的,去战胜它吧。

看完这本书后,正如书中最后一节所说的,现在我也正试着,“实践本书中的技巧,对它们做一些调整,以适应自身的风格和具体环境。保持开放的心态,保证用即时习惯策略提供的新工具去替换旧有的的拖拉习惯和不太好的工作成绩。把即时习惯策略作为自己的助手,期待对工作拥有一种积极的态度,摈弃拖拉的毛病,经受得起挫折,并拥有一种全新的作为高效者的自我身份加以认知。”

话不多说,以下是部分读书笔记,因为记录比较多,为了提高可读性,这里分两次给出:

 

 

Chapter 1-2. 为何拖拉, 拖拉是如何进行的

能够让我们分散注意力的东西越来越多。把自己从一个拖拉者变成一个工作生活实现平衡的高效者。

那么,拖延的根源是什么呢? 因人而异。包括自卑、完美主义、对工作的负面认知、自我认知不对、无效目标设置、模糊的时间观念、容易放弃的精神等等。 

对于拖拉的原因之一,最严厉的批评者就是自己,内心的冲突造成恐惧和不安全感。要把注意力引导到手头的工作任务中,而不是对自己的能力和价值提出疑问。

要系统的利用即时习惯策略。

我们之所以会拖拉是是因为:当我们把自己的价值与工作等同起来是,出于保护性的防卫心理,我们当然不愿直面挑战并担当风险。如果你相信对你的工作的评价即是对你本人的评判,那么求全责备和拖拉就成为一种自我保护的必要形式。

拖拉常被用来表达憎恨:对上司、当权者的憎恨。
拖拉常被用来抵御对失败的恐惧。
拖拉常被用来逃避对成功的恐惧。

记下花费时间的方式,将会使你注意到许多浪费掉的时间段。

建立安全感:走出拖拉的第一步。

遵循多数成功人士的榜样,你可以摔倒多次,一次次地使用你的安全网使自己重新振作起来,继续为下一次成功而努力。有一张把你兜住的安全网,失败与过错都不能阻止你,因为你不会让它们带走你的自我价值感和采取行动的动力。

Chapter 3 进行自我对话 

反效率的信息:(1) “不得不”——压力信息(2)“应该”——抑郁信息
选择的力量:(1)选择的力量(2)从抵触到承诺(3)学会说“不”
 

发现并使用选择的力量: 每当你发现自己在某个项目上失去干劲时,就是你的思想里找一找隐藏着的“不得不”,然后就在那一刻做出决定,要么是欣欣然接受它,接受它本来的样子,而不是你认为应该如何的样子,要么是放弃他,由你选择。    

拖拉者区别于高效者的五种自我陈述:

拖拉者 高效者
我不得不做 我选择做 
我必须完成 我什么时候开始
这个项目大而且重要 我能走出一小步 
我必须做到十全十美 我完全是个凡人 
我没时间玩 我必须花时间玩

 Chapter 4. 无忧休闲,高质量的工作 

作者关于在加州伯克利大学博士生的研究,令我很有兴趣。书中谈到: 玩得越开心,工作效率越高。

博士生中,进步很快,很快完成论文的人,对于闲暇时间也都很专注和投入。对他们而言,自己的健康和休闲都是很重要的事项,也是高质量完成论文这个计划中不可或缺的一部分。他们必须几乎是天天游泳,跑步或者跳舞。他们必须每个星期都和朋友聚几次餐。从休闲这个词的最初意义上讲他们真的是“重振”了。通过“重振”,他们一直保持着对项目没星期花费15,20或25个小时高质量时间的动力和兴趣。他们的生活是充实的。他们不认为工作对自己有任何损害,相反,一心一意地工作与一心一意地休闲,在享受人生方面是密不可分的。他们现在已经是在享受生活,而不是在等到工作完成之后再去享受。

我们拖拉的原因之一,是因为我们害怕一旦开始工作,就再也没有时间去休闲,工作会剥夺我们玩耍和享受生活的权利。无忧休闲策略强烈要求你在每周的计划中都安排进休闲活动,以此提供一条解决问题的方法。把休闲当成生活中的一个优先事项,是学会战胜拖拉的一个重要部分。

无忧休闲在工作与玩耍之间建立起联系,其中,它们相互推动着各自质量的提高。

2010年1月2日星期六

读书:Kent Beck 《Test Driven Development》

书评:

生动简单的例子和清晰详细的解释分析,读这本书时绝对不会感到有什么困难。个人认为,其实不用把这本书当成一本纯粹的技术书来阅读,大可以当成一本改变思考方式的技术八卦看看,也许在开发中你还是不会使用TDD(test-driven development),但是用一种极为轻松的方式系统地了解一下TDD,也是大有益处的。
如果只是想单纯地了解一下TDD(粗浅了解一下TDD的实现步骤,以及它充满吸引力的优点),那么看看第一部分(Section I: Money Example)就可以。如果正在进行TDD,或已经有了一些TDD实践,那么可以看看这本书的第二,第三部分,这对TDD的在项目中的具体实践和对提高TDD的认识会很有帮助。
看完这本书也改变了我一些固有印象,其实TDD不是绝对和极限编程一样。书中有一句话令人印象深刻:TDD is an awareness of the gap between decision and feedback during programming, and techniques to control that gap.
书中常常提到The goal is clean code that works. 我非常赞同,其实不管使用什么选择的开发策略(或者是否认可使用TDD,我的很多朋友就不是很认可TDD),其实我们的目的都是写出“整洁”的代码得到使我们的软件在质量和产出方面,得到可观的改善。

读书笔记:

简单地记录一下本书中关于TDD的一些概念:

编写TestCase(不可运行) --> 实现TestCase(可运行) --> 重构(重构)

1. Red—write a little test that doesn’t work, perhaps doesn’t even compile at first

2. Green—make the test work quickly, committing whatever sins necessary in the process

3. Refactor—eliminate all the duplication created in just getting the test to work Red/green/refactor. The TDDs mantra.

TDD的节奏大概就是:

1. Quickly add a test

2. Run all tests and see the new one fail

3. Make a little change

4. Run all tests and see them all succeed

5. Refactor to remove duplication

一般而言TDD的周期就是:

• Write a test

• Make it compile, run it to see it fail

• Make it run

• Remove duplication

如果我们读完这本书,其实我们,可以开始,哈:D

• Start simply

• Write automated tests

• Refactor to add design decisions one at a time

2009年12月29日星期二

读书:保罗·梅耶/迪克·卢赫《知道做到》

圣诞新年假期已经过了一半,愉快的读书时光飘过,这应该是我这个假期读的最后一本书,因为从明天开始对我而言轻松的假期结束了,迫于项目压力,接下来的五天我会比较忙,有一些代码需要重构,软件中有一个功能必须添加,还有两篇论文需要修改。读完一本好书后,写一篇读书笔记总是令人开心的,豆瓣上找到的想读的书已经有上百本了,家中,书架上的书,图书馆借的书,电脑里的电子书,还没有读的也有十几本。在这十几本好书中挑一本来读,也似乎是一个艰难的选择。最后我选择《知道做到》这本探讨提高“学习能力”的一百多页的小书,因为它最薄,呵呵,然后伴随着我喜欢的美国smooth jazz钢琴家Jim Chappell的专辑,泡一杯绿茶,开始本读书之旅。
以下是部分书摘:


#坚持记笔记,24小时之内重读笔记,把自己学到的知识传达给别人(要想开始应用新知识,最好的途径之一就是把它传授给别人。)。(看来我坚持做读书笔记是正确的。:D)
#可如果我们总是在接触新知识,却没有停下来去整合它们,并将其付诸实践,问题就来了。如果继续这样不停地接触新知识,我们的大脑就会堵塞。
#要想掌握一样东西,你必须完全沉浸其中,直到将其完全吸收。你必须慢慢地咀嚼、消化,直到它变成自己的一部分。
#要想真正了解一个领域,你必须透彻地吸收一些重要信息,而不是盲目地接触大量信息。
#人们没能学以致用的原因,1. 信息超载,2. 消极过滤,3. 缺少跟进。
#对于那些只接触过一次的信息,我们通常只能记住其中一小部分。
#我们应该少而精而非多而浅地去学习。
#要想掌握某件事,我们必须首先选择一些关键点,隔段时间就重复一下,让自己完全沉浸其中,并不断提高自己的知识和技能。关键在于间隔性重复。
#一旦真正透彻地掌握了自己的工作,人们就会变得更有创造性,甚至能够创造奇迹。
要想多留住一些自己所学到的东西,关键就在于要带着一种开放、积极的心态去聆听:
#不要带有任何偏见或先入之见;
#带着一种学习的态度,对新的信息感到兴奋;
#带着积极的期待;
#手里拿支笔,准备做记录;
#带着强烈的欲望,不仅要仔细聆听对方的讲话内容,还要努力激发出自己的想象力;
#带着一种“我该如何应用这些”的态度。


一个小时就可以读完的小书,所谈的道理也很简单就是:“知道,就一定要做到。做到,就一定要有结果。”但是还是挺值得花上一个小时去翻翻它。

2009年12月26日星期六

读书:Robert C. Martin《 Clean Code》

第一感觉:很有趣又非常实用的一本书,“Uncle Bob”的文笔相当幽默生动。代码质量与其整洁度成正比,大家都知道,但是如何打磨这些代码让它们变得整洁,这就是Bob大叔这本书所要传授的,在看本书的同时回忆一下自己是平时是如何编程的,会使阅读过程变得更有趣。

这本书前三章谈到了大量的小技巧和规则,例如使用可搜索的名称,分解函数,修改名称,消除重复,函数的第一规则是要短小,第二条规则是还要更短小,函数应该只做一件事,功能集中,有一个好名字(可以使用长而具有描述性的名称),它所带的最理想的参数数量是零。还有,类名和对象名应该是名词或名词短语,而方法名应当是动词或动词短语,减少代码依赖关系,让代码易读,等等。 其实这些小技巧和规则大家都知道,但是如何坚持使用和贯彻,这才是难点。

Chapter 4 Comment(注释),我很喜欢本章的引言“Don’t comment bad code—rewrite it.”—Brian W. Kernighan and P. J. Plaugher。还有一句话也说印象深刻“Keep in mind, however, that the only truly good comment is the comment you found a way not to write.”还有关于Position Markers位置标记的讨论,我个人就常常滥用Position Markers,书中谈到“ So use them very sparingly, and only when the benefit is significant. If you overuse banners, they’ll fall into the background noise and be ignored.” 这章还提到”Few practices are as odious as commenting-out code. Don’t do this!”,看完非常惭愧,我常常注释代码。

Chapter 5 Formatting(格式),这里有关于Vertical,Horizontal Formatting等等的讨论,这里摘抄一段话"It appears to be possible to build significant systems(FitNesse is close to 50,000 lines) out of files that are typically 200 lines long, with an upper limit of 500. Although this should not be a hard and fast rule, it should be consideredvery desirable. Small files are usually easier to understand than large files are."

Chapter 6 Objects and Data Structures (对象和数据结构)个人很喜欢这章,谈到了Data/Object Anti-Symmetry----数据、对象的反对称性,还有一些法则例如Data Transfer Objects(数据传送对象)

chapter 7 Error Handling (错误处理),谈到了使用异常而非返回码还有给出异常发生的环境说明等等。

chapter 8 Boundaries(边界),讨论了使用第三方代码,整洁的边界等等问题。

chapter 9 Unit Tests(单元测试),个人非常喜欢这章,非常实用,这里讨论了Test-Driven Development,The Three Laws of TDD,这里摘书中几句“What makes a clean test? Three things. Readability, readability, and readability. Readability is perhaps even more important in unit tests than it is in production code.” “Tests are as important to the health of a project as the production code is. Perhaps they are even more important, because tests preserve and enhance the flexibility, maintainability, and reusability of the production code. So keep your tests constantly clean.”

Chapter 10 Classes,谈到了类的组织和内聚等等问题,有一句话令人印象深刻,The first rule of classes is that they should be small, the second rule of classes is that they should be smaller than that.哈够深刻吧。

chapter 11 Systems,引言中的话非常精妙,““Complexity kills. It sucks the life out of developers,it makes products difficult to plan, build, and test.”—Ray Ozzie, CTO, Microsoft Corporation”。 其实无论是设计系统或单独的模块,永远要忘记使用可以用的“最简单的东西”。

Chapter 12 Emergence(迭进),谈到了通过迭进设计,以达到整洁目的等等。 

Chapter 13 Concurrency(并发编程),我觉得这章写的非常好,简单生动,如果对Concurrency programming有兴趣,推荐可以直接阅读这章。

chapter 14 Successive Refinement (关于逐步改进),从这章里摘抄一句话“So the solution is to continuously keep your code as clean and simple as it can be. Never let the rot get started.” 

Chapter 15 JUnit Internals(JUnit框架的内幕)和Chapter 16 Refactoring SerialDate,关于(重构SerialDate),跳过,没有阅读。 Chapter 17 Smells and Heuristics,翻阅,没有仔细阅读。

个人一点小感想,如果本书能再出一个“精华简化版”(例如去掉一些例子和说明,去掉第15章,减少第17章 Smells and Heuristics(味道与启发)的篇幅,并把附录的大部分砍掉),缩减到大概200左右就完美了,200页的小册子可以放在身边,作为程序员编程时的童子军规则随时查阅 :D。刚刚发现这本书已经有了中文版,读中文版一定更愉快体会“Uncle Bob”想要告诉我们的简单而又重要的大道理“Writing clean code is what you must do in order to call yourself a professional. There is no reasonable excuse for doing anything less than your best.”。

2009年12月23日星期三

读书:《洛克菲勒留给儿子的38封信》

居然今天才发现这本好书(五星级的好书),还好有豆瓣。书中的观点很贴近真实的人性和现实的世界,十九世纪初的洛克菲勒写给儿子的这38封信,今天看来仍旧可以深切地感受到他所分享的真正的大智慧,还可以深刻体会他对工作的态度,对生命的感悟还有他在商场上成功的秘诀。以下是部分书摘:

 

享有特权而无力量的人是废物,受过教育而无影响的人是一堆一文不值的垃圾。(Men of privilege without power are waste-material. Men of enlightenment without influence ate the poorest kind of rubbish.) 一个真正快乐的人,是能够享受他的创造的人。那些像海绵一样,只取不予的人,只会失去快乐。

如果你视工作为一种乐趣,人生就是天堂;如果你视工作为一种义务,人生就是地狱。         

一个人只有自己依靠自己,他才不会让自己失望,并能增加自己控制命运的机会。聪明人只会去促使事情发生。人生中最令人感到挫折的,莫过于想做的事太多,结果不但没有足够的时间去做,反而想到每件事的步骤繁多,而被做不到的情绪所震慑,以致一事无成。我们必须承认,时间有限,任何人都无法做完所有的事情。聪明人知道,并非所有的行动都会产生好的结果,只有明智的行动才能带来有意义的结果,所以聪明人只会汲取做了以后获得正面效果的工作,做与完成最大目标有关的工作,而且专心致志,所以聪明人总能做出最有价值的贡献,并捞到很多好处。

每个人都有失去自信,怀疑自己能力的时候,尤其是在逆境中的时候。但真正懂得行动艺术艺术的人,却可以用坚强的毅力克服它,会告诉自己每个人都有失败的时候,有失败得很惨的时候,会告诉自己不论事前做了多少准备、思考多久,真正着手做的时候,都有难免会犯错误。然而,被动的人,并不把失败视为学习和成长的机会,却总在告诫自己:或许我真的不行了,以致失去了积极参与未来的行动。

不论是要赢得财富,还是要赢得人生,优秀的人在竞技中想的不是输了我会怎样,而是要成为胜利者我应该做什么。

梦想+失败+挑战=成功之道。

智慧之书的第一章,也是最后一章,是天下没有白吃的午餐。如果人们知道出人头地,要以努力工作为代价,大部分人就会有所成就,同时也将使这个世界变得更美好。而白吃午餐的人,迟早会连本带利付出代价。

知识原本是空的,除非把知识会付诸行动,否则什么事都不会发生。而且,教科书上知识,几乎都是那些皓首穷经的知识匠人在象牙塔里编撰出来的,它难以帮你解决实际问题。世界上只有两种人头脑聪明:一种是活用自己的聪明人,例如艺术艺术家、学者、演员;一种是活用别人的聪明人,例如经营者、领导者。后一种人需要一种特殊的能力——抓住人心的能力。但很多领导者都是聪明的傻瓜,他们以为要抓住人心,就得依据由上而下的指挥方式。在我看来,这非但不能得到领导力,反而会降低很多。要知道,每个人对自己受到轻视都非常敏感,被看矮一截会丧失干劲。这样的领导者只会使部属无能化。 装傻带给你的好处很多很多。装傻的含义,是摆低姿态,变得谦虚,换句话说,就是瞒住你的聪明。越是聪明的人越有装傻的必要,因为就像那句格言所说的——越是成熟的稻子,越垂下稻穗。

一个人越是成功,越不会找借口。百分之九十九的失败都是因为人们惯于代寻借口。我鄙视那些善找借口的人,因为那是懦弱者的行为,我也同情那些善找借口的人,因为借口是制造失败的病源。一旦一个失败者找出一种“好”的借口,他就会抓住不放,然后总是拿这个借口对他自己和他人解释:为什么他无法再做下去,为什么他无法成功。起初,他还能自知他的借口多少是在撒谎,但是在不断重复使用后,他就会越来越相信那完全是真的,相信这个借口就是他无法成功的真正原因,结果他的大脑就开始怠惰、僵化,让努力想方设法要赢的动力化为零。但他们从不愿意承认自己是个爱找借口的人。很多人都迷信所谓的知识就是力量。在我看来这句话只说对了一半。拿才智不足当借口的人,也是错解了这句话的意义。知识只是一种潜在的力量,只有将知识付诸应用,而且是建设性地应用,才会显出它的威力。

我一直视“努力工作定会致富”为谎言,从不把为别人工作当作积累可观财富和上策,相反,我非常笃信为自己工作才能富有。我采取的一切行动都忠于我的伟大梦想和为实现这一梦想而不断达成的各个目标。

在做生意时,你绝对不能想把钱赚得一干二净,要留一点钱给别人赚。

成功不是以一个人的身高、体重、学历或家庭背景来衡量,而是以他思想的“大小”来决定。我们思想的大小决定我们成就的大小。这其中最重要的一条就是我们要看重自己,克服人类最大的弱点——自贬,千万不要廉价出卖自己。你们比你们想像中的还要伟大,所以,要将你们的思想扩大到你们真实的程度,绝不要看轻自己。

世界上有两种人永远不会富有:第一种是及时行乐者,第二种人,喜欢存钱的人。

我厌恶我的手下人说“不可能”。“不可能”是失败的用语,一旦一个人被“那是不可能的”想法所支配,他就能生出一联串的想法证明他想得没错。

我在读书时就记得这样一句话:“最完美的人就是那彻底投身于自己最擅长的活动的人。”后来,经我改造,将其变为我管理上的一个理念:最能创造价值的人就是那彻底投身于自己最喜欢的活动的人。

你是否听到过伐木者的产量会下降,只因为他没有抽出时间来磨利他和斧头?我们花钱,以及很多时间,去修饰头脑的外表,刮胡须、理头发,我们有没有必要花同样的时间和金钱,来化妆头脑的内部呢?当然有,而且可以做到。事实上,精神食粮随处可得,例如书籍。经由伟大的心灵撞击而写成的书籍,没有一本不是洗涤并充实我们心灵的食粮,它们早已一劳永逸地为后人指明了方向,而我们可以其中任意挑选我们想要的。伟大的书籍就伟大的智慧树,伟大的心灵之树,我们将在其中得以重塑。让我们学会既聪明又谦逊,既谦逊又聪明吧。

思考最多、感觉最高贵、行为也最正当的人,生活也过得最充实!           

2009年12月22日星期二

读书:Thomas A.Limoncelli《时间管理》

这本书其实不仅仅是给予系统管理员关于时间管理实战经验的建议,我们这些“IT民工”翻翻这本书也是很有助益的。本书讨论的策略其实也是很简单,也许你和我已经每天都在使用,例如:每天早上花5分钟计划一天。如果是每天要完成的事情,早一点完成它。清理实际办公桌和计算机的桌面。工作不要上网看新闻,信息(这点我总是做不到,改正中),远离即时通软件。每天使用例如google calender以计划好的工作,完成的Tasks以“X”标识(我每天下班时看到所有的Tasks被X掉总是很开心:D。)等等时间管理的方法。

以下是这本书中我最喜欢的观点:

(1)职场生涯的网络,也需要维护,而不是找新工作时候才联系,必须维护与他们的人际关系。

(2)休假是为了维持你的心里健康。拖延休假时间就像是拖延刷牙。现在跳过看起来很方便,但长远看来就不健康了。如果你浪费休假时间而用一天去跑差事,就无法达到减压目的。(深有感触啊,绝对是真理)

(3)例行公事可以节省工作,想一次,做许多事。

(4)浪费时间的事件,就是收益和时间付出的比值太低的活动。不要想用更有效率的方式把这些活动做完,最好的方法是试着将其排除掉。

(5)每件事都应该有某种益处。花五小时电子游戏有娱乐的益处,然而其他有益处的事可能对你更有价值。例如,花同样的时间做些家中维护工作来增加你的生活质量,这比炸掉几百万个古怪的外星人更有长期的益处。有些浪费时间的事件就是很难抗拒。所以,只好“一切适度”。(对于这一点我深有感触,以前我每天花很多时间阅读rss订阅,现在我每星期安排一个小时或几个小时(或者每天几分钟)阅读rss订阅的内容的时间。能看多少就看多少。这样,我每天获得至少一个小时。)


“工作时间 X 工作效率 = 工作的成果”,想获得最好最高的工作成果,我们所要做的就是首先提高时间效率(这是最重要的,很多人自认为投入了不少时间在工作,但是成果很小,这就是因为他投入的是“低效率”的时间),其次是使用一些策略来节约时间。心理学家说,养成一个新习惯需要花21天,21天重复做同样的事情会让你的大脑毫不费力地把这件事情变成习惯。其实关于时间管理的方法大家几乎都知道,也有很多比本书的方法更有效的方法,时间管理也是因人而异,但是如何坚持使用它们,并养成习惯,这才是关键,以下是书中提出的时间管理的方法,特此摘抄出来,与“众IT民工”共勉:


给时间管理的信息一个“数据库”(使用笔记)。将脑力留给最重要的事(节省内存)。(清晰的头脑很重要。胡乱的思路充满分散力,无法让你保持专心。)开发例行公事并持之以恒(程序代码函数库再利用,不要重新发明既有的东西)形成习惯与信念(以预先计算的结果取代运行时的计算)。在“项目期间”保持专心(就像一个核心信号)。以工作生活上的工具管理社交生活(社交生活不是一个可选功能)。

2009年12月21日星期一

读书:吉本佳生《在星巴克要买大杯咖啡!》

普及性的经济学入门读物,通过一些简单的例子解释了一些价格与生活经济学常识,很简单但是不够生动,个人感觉上翻译尚不完美,但是还是很受启发。

在前四章谈到了,同物不同价的根本原因在于“交易成本”。物流体系。规模经济的效率(讨论了电视机或数码相机的价格越来越便宜的问题)。时间成本的概念。也谈到了企业的销售策略:例如对不同消费能力层次的顾客采取分而治之的策略。

第五章“在星巴克应该消费哪款杯子的咖啡?”,本书的书名回答了这个问题,要买大杯咖啡,因为节约交易成本能使经营者与消费者共同受益。在这章里还可以了解一些简单成本计算问题。当然了,众所周知IT渠道是节约交易成本的关键环节。

在第六章提到了有些情况下,追加成本(追加制造一个产品时的成本,常常是生产设备未运转时投入生产)决定价格。各种商品都是劳动成本的集合体,并贯穿于产销链的每个环节。这里还提到了“食品生产企业的惯用手法是随行就市,即根据成本的增减调整产品重量以赚取利润。”,难怪薯片的重量常常变化。

个人相当推崇第七章“现实生活中人们之间的经济差距为什么难以消除?”适合比较仔细阅读。作者提出了一些观点,例如,“努力工作以维持高收入的群体,其可以自由支配的时间较少,他们的时间成本相当高。交易成本高,所以可以接受高的价格。然而一部分人其收入较低,但是有充裕的其他财产性收入,他们的交易成本较低,生活很悠闲自得。”“高收入的原因区分为社会地位,工作能力和工作时间。有两类高收入人群:1工作能力强,工作时间长。2工作能让稍逊前者,工作时间短,但有特别的社会地位。”很有道理,看看自己身边的人就明了了。要提高自己的收入,作者提出了“要努力做到正确认清和评价自己,发挥自身具备的比较优势(比较优势和实际利息两个很重要的经济学概念)。并且需要具备基本能力和良好的个性以便能够在工作上获得更多更好的机会。”

薄薄的小书很简单,三个小时左右就可以读完,挺适合在晚上听着音乐轻松阅读。

2009年12月16日星期三

读书:《漫画健康养生手册》

从朋友家发现一本关于上班族健康漫画《漫画健康养生手册》,大喜,立刻就借过来,今天上班的时候慢慢看,呵呵。

看到一章关于健康自测:谈到“健康人的手指甲上都有一个小月牙,而且大拇指的小月牙应该占到指甲的四分之一,除小手指外其他的手指也应占1/5到1/6,这样代表体内的寒热是比较均衡的。如果只有大拇指有小月牙,说明体内寒重,如果全部指甲都没有小月牙说明体内大寒,人的体力会比较差,血少,血稀。反之,就是内热大。”我赶紧看看自己的指甲,哇,体内寒重!!相信你看到这里一定也在看自己的指甲吧,呵呵,你的寒热是否均衡呢?

书中谈到,预防驼背的最佳方法就是“身子坐直双肩向后收,头颈部尽量要向后,每天做几分钟,人永远不会驼背。”我们每天在电脑前n小时,颈椎和背都很容易出现问题,一定要预防驼背,这个方法就简单又实用。

通过这本书还可以了解一些关于穴道的养生保健方法。有一个方法甚是有趣,这里摘抄出来和大家分享,这个方法叫叩齿法:据说能强肾固肾,乌发满头。这个方法实行起来也很的简单就是“没事儿的时候多做叩齿活动,就是嘴唇微闭,上下牙齿有节奏撞击就行了。每次叩齿100到400次(后面的槽牙一定要撞击到)牙齿的经络和肾经是相通的,坚固牙齿就可以对肾起一个反固的作用。能让肾强壮。固肾补肾。”呵呵,在公众场合就不要练了,不然会吓到人的。

书中谈到的“站立环抱养生法”,据说可消除无意识紧张。所谓“站立环抱养生法”就是随意地站立(两脚与肩宽)双手十指自然张开,双臂在胸前做环抱状,全身都放松下来,别耸肩。站十分钟就可以了。我个人认为这个方法不错,自己试了一下还有些效果。

这本书还提到了一些众所周知的养生法,看看也算是温故而知新吧,例如用热水泡脚(全身发热,微微出汗就算泡好,一般三十分钟左右。)据说,这可以可以消怒气,有助睡眠,提高人体免疫力,可降虚火等等好处多多。常常搓手同样好处多多,它能使手指更加灵活自如,对大脑有保健作用,还能促进血液循环,增强体质。对了,不要忘记最好的最廉价的运动--步行!

都市中忙碌打拼的你我,不要忘了健康养生,看完这本书后,马上开始行动吧,此时的我正在边“搓手”边“用热水泡脚”哈。

2009年10月30日星期五

读书:风云《游戏之旅-我的编程感悟》

对于一本技术图书的好坏我有两个最简单的评断标准,一是是否能吸引人,这本书就像一个好游戏一样让人沈浸其中,不能自拔,上个一个周末分“两口气”把它仔细读完了。第二个标准就是我是否做很多笔记,在读这本书的过程中我在我的Google docs做了非常多的笔记。以我的标准来说这本书绝对是五星级的好书。虽然我不是游戏程序员,但是我也得到了非常多的收获,我不仅从风云的亲切自然的文笔中了解他的一些成长经历,而且还“似乎”进入了一个陌生但是令人兴奋的游戏设计领域。通过阅读这本书还有一个收获,就是进行了一些关于游戏开发的方法,游戏引擎,游戏引擎中的优化等等知识的“扫盲”。
s2198972 “第二章算法,程序的灵魂”是我最喜欢的章节。如何进行算法层面的优化,本书也谈到了几点,看完深有体会,以下是部分书摘。

1 数学方法的改进

2 预运算来节省时间(空间换时间来避免重复运算)或是重复运算来节省时间。

3. 简化算法求得近似解来取代精确解(或最优解)

4. 改进数据组织方式,用更少的操作处理更多的数据,甚至避免冗余数据的处理

我也非常喜欢“第九章C和C++”和“第十章 调试”,强烈推荐仔细阅读。我们使用C和C++,但是有没有在不同的层面去*思考*一下它们而不是仅仅使用它们,书中关于C和C++的一些精彩诠释也令我得到很多启发,以下是部分书摘:

“C++和C一样,都是最贴近计算机固有模型的,C++的每一行代码,都和C一样有明确的目的,没有去干多余的事情。”

“C语言是对汇编语言的一种抽象,正如汇编语言是对机器底层指令的一个最小幅度的抽象一样,是为了人类能更方便地控制机器。但是,人在使用C语言控制机器时,并没有比汇编语言有观念上的不同,也就是说,程序员依旧是按机器模型来思考问题。在面对问题时,问题的描述往往并不符合机器思考的模型,程序员的工作也就是在两者之间搭上一座桥梁,让问题的描述可以用机器的思维来解决。”

“C++则采用了另一套方法来减轻程序员解决问题的复杂度,那就是面向对象。它是一种通用的方法,面对问题,我们把问题中的事物都表示为对象,对象有自己的行为,对自己遇到的问题提出符合机器模型的解决方案,或把自己划分为更小的对象集合。这样,程序员就可以在对象的级别用对象本身的术语描述问题,而这些术语最终都会被直接对应到机器模型上。”

八卦一下,书中有一些关于一些编程语言的有趣观点:

“JAVA更像一个实验室研究出来,有着浓厚的学术气味,外观优美超过它本来应该具有的人们所期望的实用性。”

“而C#则是工程师的结晶,外加了许多商业味道,被微软强烈地推广。”

“脚本语言如Python会像C++这样的主体开发语言的一种有益的补充。”

风云来自实践的这本书,是我读过最有趣生动,亲切的本土技术图书,同时也是一本极好的教材。

在这本书中,我最有感触并最喜欢的一句话是“多年的编程经历让我明白了一个道理:绝大多数情况下,没有解决不了的问题,只有因为平时缺少练习而惧怕问题的复杂度,畏惧的心理让我们选择避让,采取并不那么好的方案去解决问题。”一句很平实的大实话。真正的“高手”之路,无论什么领域,其实就是多思考,多动手,知难而进吧。

2009年10月25日星期日

读书:梁肇新《编程高手箴言》

s2301239上个星期读了超级解霸的作者梁肇新的这本书。这本书行文亲切自然,国人写的书显然比国外的图书的中文版更具有“亲和性”。当然了,也许也会有很多人对文中的一些观点有不同的意见,但是不同的人一定会得到不同的启发,绝对值得一读。带着自己的思考和结合自身编程的实践经验去阅读这本书也许可以得到更多的收获。这里谈谈我从中得到的一点启发。
曾经参与一个项目开发经过多次失败,最后才发现对于实际应用软件项目,最适合的方法就是类似“实现核心-->增强功能-->测试”这样一个过程。强烈赞同书中的观点:
“我们不可能一开始就把所有的细节都考虑清楚,通常,开始只需要一个基本的框架,也就是核心的核心。如果这个核心都实现不了,即使再进行下去,整个项目也都是多余的,只是浪费时间而已。所以,一开始就要解决最核心的问题。当最核心的问题解决之后,就可以进行第二阶段。我们把软件开发分为设计规划阶段,功能设计阶段,测试阶段。所有的产品都可以划分为这三个阶段。事实上,如果最核心部分实现了,那么依赖于此核心,再实现增强一点功能就是第二阶段。第二阶段完成后,就可以进行第三阶段。”
还有例如书中谈到的关于界面和接口的“箴言”:
“界面是界面部分,接口是独立的一块。接口部分就是程序的实现内核,通常先用Console方法直接地实现程序,这样更便于分离界面和内核。如果开始就用Windows的界面去实现内核部分,这样就可能会把界面和内核混在一起,无法分开。所以,一开始做程序时,就不要考虑界面是什么样子。”
“接口的目的就是把外部条件和内部条件分离开来。外部条件由别的程序提供,别人可以用。做接口最好的方法,就是直接用Console程序先实现程序的主体,然后从中提炼出接口来。这样做提炼会简单明了。如果用可视界面先实现了程序的功能后再去提炼,就会比较困难,因为这样就会把界面和功能实现混在一起,很难区分。”
看完后深有体会,我在做一些应用软件项目时总是把界面和功能实现混在一起,的确会造成维护,修改,甚至是阅读的很大困难,程序结构也会不够简单明了。
我总是太过局限于“软件工程的思维框架”中,常常在抽象化的时候,总是想要把所有的事情都想全了,常常做一个巨大无比的对象,这本书对此也提出一些让人有所反思的观点,例如:
“做对象化时还有一条准则,既对不同的应用去设计程序,而不是针对一种所谓的虚拟模型去设计一个对象。所谓的抽象化,就是想着将来有可能会用的某个功能。这样设计出的软件又庞大又耗时,运行也很慢。这就是杀鸡取卵(教科书会教你这种方法)。”
“杀鸡取卵就是指设计的软件提供了很多的功能,其实用到的功能只是那么一丁点。可能做了一个巨大无比的对象,但是只用到对象的很小的一些功能而已。因为做抽象化的时候,要把所有的事情都想全了,但是这是不现实的,实际上也是没有必要的,且是浪费的。如果凡是思考问题都是为了将来的大而全,这样出错的可能性也会成倍的提高。一般来说,代码越大,出错的地方也就越大,如果代码越小,出错的地方也就越小。将功能模块做成API函数与做出对象就不一样,做成一个对象时,该模块出错的机会就多一些,因为对象还有一个动态的过程,但做成一个函数时,调用函数就可以了,模块出错的机会就会比较小。所以,程序越简单,越不容易出错。”
书中的“程序主干和分支”的概念,也令人很有启发:
“核心就是整个系统中最重要,最基础,最简单的部分。首先要把程序的核心提炼出来,在给它添加附加的部分,它就能成为一个完整的软件。主干是最核心的核心,其后在添加的其他的部分就是枝叶了。”
“编程就是要保证核心的核心不出错,那剩下的枝叶都是一层一层地构建出来的。”
读《编程高手箴言》,也是自己编程思想,习惯等等的一个“自审”的过程。你一定可以找到适合自己需要的“箴言”,用它去提高自己吧。

2009年10月24日星期六

读书: 成寒《躺着学英语:听力从零到满分》

最近因工作时发现自己的英语口语水平还是停留在n年前水平,阔别多年后又开始自学英语了,偶得这本英语励志书,n年就前看过一些英语励志书,其实内容光看这本书的书名和简介,就可以猜到十之八九。但是,正如书中所说的“如果一个人没有纪律,没有办法自动自发学习,一定要人用鞭子打才肯用功的话,再多的英语励志书,也不过是一帖安慰剂罢了。”

s2212962 “学英语,用什么方法都可以。只要这个方法能够挑起学习的乐趣,就一定会有成果。”作者推荐大家用一种轻松快乐的心态去学英文,这本书的行文也很清新流畅,不像一般的英语励志书教导式的文笔,而是让你感觉到作者就在身边和你聊聊她的经验,在短短的几小时就可以很轻松的一口气读完。

我非常认可书中的一些观点例如“自修英语,最大的好处是可以随心所欲。尽量找好听的,自己感兴趣的教材”。至于如何选择适合自己的教材这本书谈到“每页的生词不超过十个,也不低于五个,便是合乎自己程度的教程”。

顺带一提,通过阅读这本书我还纠正了一个长期以来的错误认知,原来晶圆厂例如FAB1是Fabrication(精密制造)的缩写,而不是Factory,象征着晶圆厂与传统工厂的层次有别。