自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

呦呦鹿鸣

穷则独善其身,达则兼济天下

  • 博客(233)
  • 收藏
  • 关注

翻译 为什么我们的项目总是只能完成90%?

尽管我喜欢阅读编程类图书,但是我发现,软件项目管理方面的书是最令人厌烦的一类。我觉得这可能意味着说我不适合做项目经理。然而,我在Stack Overflow却恰恰扮演的是这个角色。我并不是说软件项目管理方面的所有图书都“狗屎不如”,但它们中的大多数就是这样。一些我认为很值得读一读的书中,有一本叫《门后的秘密:卓越管理的故事》,它是由Johanna Rothman和Esther Derby合著的

2013-07-07 18:20:01 5499 20

翻译 勿以专家自居

对于权威,我心存芥蒂。我在“StrongOpinions, Weakly Held”(观点鲜明,但不固执己见)一文中曾经说过:当我了解到别人把我视为专家或者权威,而不是像伙伴一样的志趣相投者时,我就会觉得非常困扰。如果非要说我在迄今为止的职业生涯中学到了一点什么的话,那一定是:当你用专家或者自以为洞悉一切的眼光去面对软件开发时,你必将面临失败。如果真的有所谓的专家的话,他们一定要比普通

2013-07-06 10:04:30 3266 5

原创 《高效能程序员的修炼》之译者序

出版社的冀康一开始来找我谈翻译这本书的时候,我的第一反应是:这兄弟真是不知道我现在有多忙!我每天要处理200多封邮件;在资源有限的情况下经常要同时带6~7个项目,而且每个项目的交付计划都很紧,压力很大;每天起码工作12个小时,有时候还要熬夜跟美国同事开会;周六基本上也是工作状态……我哪里还有空来翻译书?!后来,当我了解到这本书的作者是Stack Overflow网站的创始人Jeff Atwoo

2013-06-22 21:50:52 4586 6

翻译 游戏玩家到程序员的蜕变

Greg Costikyan写了一篇散文,题为“Welcome Comrade!”(同志,欢迎你!),号召从事游戏开发的业余爱好者们武装起来:遥想当年,一个人单枪匹马几天时间就能开发出《毁灭战士》这样的游戏。制作第3代的《毁灭战士》也不过用了几人周(man-weeks)。然而,游戏开发的成本在不断攀升。比如在1992年,制作一款电脑游戏通常需要花费20万美元;但现如今,仅仅买一个题材动辄就

2013-06-09 09:07:17 3837 2

翻译 软件开发之50年历程——Redwine-Riddle成熟模型

O'Reilly发布过一张海报,标题为“TheHistory of Programming Languages”(编程语言的历史),看起来饶有趣味!O'Reilly是一家具有深厚计算机专业背景的图书出版公司,出版了一系列Perl、Java、Python、C/C++、脚本语言、Web、数字媒体、系统管理、安全、数据库、Linux/Unix、Macintosh/OSX、Windows、

2013-05-17 10:10:58 3676

翻译 国外程序员的BASIC情结——我的编程生涯始于BASIC

关于BASIC,Edsger Dijkstra曾经说过这么一段话:“那些已经学过BASIC的学生是不可教化的,再去教他们优秀的编程风格注定徒劳无功。他们已经脑残,再生无望,成不了优秀的程序员。”BASIC是Beginner'sAll-purpose Symbolic Instruction Code的缩写,意为“初学者的通用符号指令代码”,它是在1964年由美国的两位教授Thomas和John

2013-05-14 09:54:02 8146 1

翻译 如何与人交流——程序员,赶紧生个孩子吧!

“每个家庭都应该生一个孩子吗?”我不太愿意这样建议,因为当不当父母完全是个人选择。我始终尽量避免鼓吹为人父母的经验,但我越深入这个角色,我便越是相信:没什么比拥有一个小孩更能折射出成人世界里源源不断的荒唐!成为父母之后,你会意识到的第一件事是,“谢天谢地,我还活着——这真是一个奇迹!”因为眼前的这个小孩真是烦人透顶,我简直想杀了他,而且我每天至少有三次这样的念头。但是,当你的孩子自然地拥抱你的

2013-05-09 08:34:32 44606 17

翻译 电脑犯罪的历史与现状

我(Jeff Atwood)写过一篇文章“I Was a Teenage Hacker”(我10几岁时曾是一名黑客),描述了我在1980年代后期使用计算机做过的一些非法之事。我那时犯罪了吗?我真的是一名罪犯吗?我不这么认为。说白了,我那时还不没有聪明到足以对社会构成威胁的程度。即便是现在,我也没达到那种水平。不过,确实有两本经典图书描述了活跃在1980年代的黑客们,而这些人也确实聪明得难以置信

2013-05-02 09:39:37 7561 2

原创 Jeff Atwood的书架(真实照片)

歪着你的小脑袋,好好看看哦~ 另外,请参阅:Jeff Atwood倾情推荐——程序员必读之书!!!你想看清书架上的每一本书?但你的眼力不行?好吧,有好事者已经给大家做了一件好事。请点击这里。

2013-04-21 09:37:47 3562 1

原创 《Effective Programming: More Than Writing Code》的中文版《高效能程序员的修炼》

一本值得期待的书:《Effective Programming: More Than Writing Code》英文不好?没关系!敬请期待人民邮电出版社将于7月份推出的中文版,一定不孚众望!——《高效能程序员的修炼》这本书的作者是JeffAtwood,他于2004年创办Coding Horror博客(http://www.codinghorror.com),记录其在

2013-04-19 13:43:57 4833

翻译 今天上班可以放羊

如果你受雇于谷歌,那你只须拿80%的时间用在本职工作上。而另外20%的时间,你可以用来做任何你想做的事情——前提是,你所做的事会以某种方式帮助谷歌进步。至少理论上是这样的。到目前为止,谷歌的20%时间政策在软件开发行业里已经很出名了。不过,大家有所不知的是,如果追溯回去,这个概念其实早在1948年就由3M公司提出了。3M公司的全称是 Minnesota Mining and Manufac

2013-04-13 20:48:56 5113

翻译 这样的会议让人很纠结

很纠结吧?永远也不要参加这样的会议!顺便说一下,解决这个问题的方法就是“可用性测试”(Usability Testing)。好好想一想:我们做决定的时候,是要无休无止地争吵、最后谁吵赢了谁说了算呢,还是要基于真实的数据?这个变化是一场革命!

2013-04-12 08:28:12 3655

翻译 坏苹果是团队的毒药

最近一期的《美国生活》采访了WillFelps。他是华盛顿大学的一位教授,曾经组织过一次社会学实验来证明“坏苹果”的出奇强大的影响力。译者注:《美国生活》(《This American Life》)是一档叙事类的广播节目,每周一期,在超过500家电台播放,大约有170万听众。这个节目由芝加哥公共传媒公司制作出品。它也是美国最流行的播客(podcast)。大学生们每4人一组,组建了几个团队,

2013-04-08 09:07:09 8868 16

翻译 分页显示该休矣

当你有很多东西要显示给用户、而且内容多得远非一个屏幕可以放得下的时候,你会怎么办?很自然,你会想到分页。在2007年,Vitaly Friedman写了一篇文章叫“Pagination Gallery: ExamplesAnd Good Practices”(分页艺术馆:样例赏析以及好的做法)。他在这篇文章里罗列了现实世界里的很多例子,在这里我就不再赘述了。如果你看过一种分页方案,其实你也

2013-03-30 20:09:56 4983 1

翻译 你永远不会有足够的奶酪

“令人赏心悦目的产品和让人勉强容忍的产品之间的差别,就在于它们的细节有没有做好。”在Human Factors International公司做的一篇演讲文稿里,他们提到了一个叫“哥伦比亚障碍装置”的东西。译者注:Human Factors International是一个由商业心理学家和管理咨询师组成的咨询公司,主要针对以用户为中心的产品设计提供咨询服务。译者注:哥伦比亚障碍装置(C

2013-03-30 19:22:36 2814

翻译 第一版做得不好,但照样发布

我曾经发布过的软件中没有一个能让我满意的。哪怕一个也没有!部分的原因是,像很多其他的软件开发者一样,我是一个完美主义者。于是,有些问题就不可避免了:开发计划太激进,时间太短了。我们需要更多的时间! 我们碰到了原先没有预料到的技术问题,它逼着我们做了一个折中的解决方案。 我们的设计做错了,不得不在开发的过程中做出改变。 我们的团队出人意料地发生了内部摩擦。 客户跟我们想象中的不一样。 设计师

2013-03-30 19:16:47 2576

原创 《高效能程序员的修炼》目录及部分精彩章节

高效能程序员的修炼指引广大程序员走上精益软件开发之路 目    录1.     入门须知1.1. 你想当一个程序员1.2.程序员的八种境界1.3.如何培养写作习惯2.     把一堆烂事搞定的艺术2.1.  学海无边2.2.  磨刀不误砍柴工2.3.  一路向前冲2.4.  关于多任务的神话3.     高效编程之原则

2013-03-30 19:05:55 4980 1

翻译 会议是浪费工作时间的最佳去处

本文为翻译初稿。更多精彩内容,敬请关注《高效能程序员的修炼》,人民邮电出版社。今天你开了多少个会?这个星期呢?这个月呢?现在你再自问一下,那些会议中有多少是值得参加的?如果把相同的时间用在工作上,你又能完成多少事情?这不禁让人想知道,我们究竟为什么要开会。在GitHub,我们不开会。我们没有固定的工作时间,甚至都没有规定工作日。我们不记录休假或者病假的天数。我们没有经理,也

2013-03-27 06:53:02 3960 9

翻译 结对编程与代码评审

Tom Dommett对“结对编程”(Pair Programming)有一些正面的经验。他把它们写下来,并分享给大家了:这个概念是要让两个开发者在同一台机器上工作。他们都有各自的键盘和鼠标。在任何一个给定的时间,其中一个人作为“驾驶员”而另一个作为“领航员”。这两个角色每隔一段时间(可以是一小时,也可能是任意时候)交换一次。“驾驶员”负责编写代码,“领航员”则负责阅读、核对、拼写检查以及在脑

2013-03-26 14:40:45 3354 1

翻译 避免在代码里写注释

如果用很多注释来“装饰”代码是件好事的话,那么在代码中加入大片大片的注释便是锦上添花了。是这样吗?事实上不完全是这样的。过犹不及,好心也会办坏事。'*************************************************' Name: CopyString'' Purpose: This routine copies a string from the s

2013-03-14 14:21:45 8923 25

翻译 学海无涯苦作舟

作者在Twitter上发的一条短讯:“每一天,你一定要一起床就热情澎湃。否则,你就只是在打工。”3:51 PM –2012-5-1在我们创办Stack Overflow网站之后,有些人开始承认:我们构造了一个还过得去的“捕鼠器”,把大家都吸引到那里去提问和回答问题。不可避免的猜测也随之而来:我们是否可以用你们的引擎来构建一个关于各种主题的问答网站呢?我们的答案就是Stack Excha

2013-03-05 09:20:47 3679 1

翻译 对你的屁股好一点!

作为软件开发人员,买一把上乘的电脑椅也许是你能做的最明智的投资之一。事实上,在过去几年看过各种各样的椅子之后,我得出了一个结论:如果你想买一把上乘的椅子,你要花的钱不会少于500美元。如果你在座椅上花的钱没那么多——除非你正在经历那场跨世纪互联网泡沫破裂后的资产拍卖——你可能正在犯一个错误。我对上述结论仍然深信不疑。我建议所有读到这篇文章的程序员,都去认真考察一下你在工作场合所坐椅子的价值

2013-02-06 09:47:27 6429

翻译 从《偷天情缘》看A/B测试的问题

译者注:A/B测试是一种网页优化方法,可以用于增加转化率、注册率等网页指标。使用A/B测试首先需要建立一个测试页面,这个页面可能在标题字体、背景颜色、措辞等方面与原有页面有所不同,然后将这两个页面以随机的方式同时推送给所有用户。接下来分别统计两个页面的用户转化率,即可清晰地了解到两种设计的优劣。在前不久的一次旅行途中,我在飞机上碰巧又看了一遍《偷天情缘》(GroundhogDay)。

2013-02-01 16:05:22 3060 1

翻译 代码评审:Just do it!

在“The Soft Side of Peer Reviews”(同级评审的柔软面)一文中,Karl Wiegers以下面这段高调的声明开篇:译者注:Karl E. Wiegers是世界著名软件工程大师,以需求、项目管理、过程改进等领域的研究和实践著称。曾任IEEE Software杂志编委和权威期刊SoftwareDevelopment的特邀编辑和专栏作家。他曾经在柯达公司工作18年,领导过

2013-01-29 22:14:15 2777

翻译 结交“混世魔猴”

去年年底,Netflix技术博客上发表了这么一篇文章,题为“转向亚马逊网络服务过程中学到的五个教训”(5Lessons We’ve Learned Using AWS)。亚马逊网络服务(Amazon Web Services,以下简称AWS)无疑是所谓的“云计算”的杰出代表。因此,这篇文章实际上也可以看成是给任何想要转向“云”的网站的关键性建议。当然,这些建议的确很棒!下面是一条最让我震惊的:

2013-01-26 22:42:28 4440 1

翻译 再谈程序员要注重沟通能力的提升——如何培养起写作的习惯

我得忏悔一下:程序员同胞们,从某种程度上来说,我创办的StackOverflow网站“耍”了大家。在你找来叉子和火把准备揍我之前,请允许我先解释一下。在过去的6年时间里,我越来越坚定地有了这样的一个想法,那就是,成为一名杰出的程序员其实跟写代码没有太大关系。做程序员确实需要一些技术能力,当然还要有坚韧不拔的精神。但除此之外,更重要的还是要有良好的沟通技巧。勉强过得去的程序员跟杰出程序员

2013-01-09 20:06:29 4705 3

翻译 你的团队里有“坏苹果”吗?

烂苹果是团队的毒药!Steve教了我们几招如何去识别团队中的"烂苹果": 1.     他们不虚心向同事学习,而是极力掩饰自己的无知。他们常说,"我不知道怎么解释我的设计;不过,它肯定没问题。"或者,"我的代码太复杂了,没法测!"2.     他们过分地强调个人隐私,"我不需要别人来审查我的代码。" 3.     他们占山为王,"没人能解我代码里的bug。我现在没空去解它们,不过下周我

2013-01-03 21:11:43 3443

翻译 程序员要注重沟通能力的提升

你曾经在应聘一份编程工作的面试中被问及一些解谜类的问题吗?我反正碰到过。我被问到的那个问题是:你最喜欢的那个牌子的苏打,有多少是在本省被消费的?拜托,正确的答案不能是“关我什么事”,除非你不想得到这份工作了。我当时对这个问题毫无头绪,后来才知道这是一个“费米问题”(Fermi Question)。译者注:恩里科·费米(Enrico Fermi),美籍意大利裔物理学家,曾经荣获1938年

2012-12-28 20:52:10 5366 2

翻译 工作经验年限之神话

在招聘过程中,纵然你的电话面试筛选工作做得非常出色,有个概念还是常常会被扭曲。在澳大利亚有一家名叫Flat Rate Recruitment的人才中介公司,他们的Andrew Stuart曾经给我写信,他向我讲述了一个非常好的故事。我把它摘录如下,正好来说明这个问题:我有个客户正在做一个高级的关于安全方面的应用程序。我给他们输送人才,一个接着一个,结果他们统统都被退回来了。究其原因,几乎无一例

2012-12-28 00:40:22 6016 27

翻译 说句“圣诞快乐”不容易!

1. “圣诞快乐!”  “嘿,别以为我们这里都是基督教徒。”2. “哦,好吧,光明节快乐(犹太教节日)。宽扎节快乐(非裔美国人的节日)。。。”3. “那些节日到了吗?”4. “好吧,只能说节日快乐了!”  “别说‘快乐’,抑郁的人伤不起!”

2012-12-25 13:12:49 2211

翻译 怎样招聘程序员

在招聘程序员方面,没有所谓的神奇“银弹”!但我可以分享一些建议和诀窍,它们经过我的实践证明是有效的。这些方法我多年来一直在用。我把它们总结如下:首先,要求通过几个简单的“Hello World”在线测试。我知道这听起来很疯狂,但有些自称是程序员的人根本没写过代码。时至今日,还有人常常过来告诉我:他们在面试过程中碰到一些应聘者连最基本的编程测试题目都不会做,真是难以置信!那也是为什么

2012-12-25 09:41:30 3954 1

翻译 我同情那些不写单元测试的傻瓜

J.Timothy King写了一篇很棒的文章:“先写单元测试的12个好处”(Twelve Benefits of Writing Unit Tests First)。遗憾的是,他在文章最后说的话完全是画蛇添足。然而,如果你不愿意改掉先写代码的老习惯,如果你觉得固执己见比设计优秀的软件更重要,好吧,我对你深表同情。把你的怜悯用在不认同你的人身上,并不是推广你主张的最有效的方式。

2012-12-24 13:06:04 2986

翻译 关于网络密码的可怕真相

在2010年12月,Gawker网络被黑客攻破了,结果导致一系列网站如Lifehacker、Gizmodo、Gawker、Jezebel、io9、Jalopnik、Kotaku、Deadspin和Fleshbot同时出现安全缺口。如果你是我们旗下任何网站的一名评论员,你可能也有一些麻烦。译者注:Gawker是最有名的明星追踪网站之一,其信条是“信谣、传谣、不造谣”。Gawker认为“人人都是狗

2012-12-14 16:15:04 4880

翻译 程序员,你幸福吗?

“……最难的是,要搞明白为什么你总是这么卖命地工作这么长时间。”科学家们不畏惧任何流行的反面主张,还是独树一帜地抛出这样的观点:钱是可以买到幸福的。一定程度上来说,他们是对的!近期的研究已经开始区分主观幸福的两个方面:情绪上的幸福感和对生活的看法。前者是指一个人每天经历的情绪的质量,具体包括快乐、压力、悲伤、愤怒、其他让人开心或不开心的感情的频率和强度。后者是指人们在审视他们的生活时所持的

2012-12-07 17:57:18 3828 5

翻译 软件定价:我们深谙其道吗?

本文为翻译初稿。更多精彩内容,敬请关注《高效能程序员的修炼》,人民邮电出版社。一段时间以来频繁光顾iPhone应用商店,以致于产生了个副作用:我开始从根本上改变了对软件定价的看法。这么多优秀的iPhone应用程序,要么是免费的,要么只卖区区几块钱。软件的定价已经低于冲动购买的门槛,以致于花钱买东西已经成了不费脑筋的事:看到有趣的东西,只要你喜欢,买!但那些定价高于5美元的应用程序呢?令

2012-11-17 21:22:03 10632 4

翻译 程序员的八种境界

本文为翻译初稿。更多精彩内容,敬请关注《高效能程序员的修炼》,人民邮电出版社。在求职的时候,相信很多人都被问过这样的问题,“你对自己未来5年的职业规划是怎么样的?” 每当我被问起这个问题的时候,我的脑海里总是浮现出Twisted Sister乐队1984年拍摄的一段视频里的这个场景:一位老师对着他的学生大喊,“我想要你告诉我,不,是告诉全班同学,你究竟想要过怎样的生活?”译者注:T

2012-10-24 16:09:53 23785 78

原创 今天我要写Code吗?

“Manager还能不能写Code?”如果你刚从技术开发职位升迁到管理职位,这会是一个在相当长一段时间内非常纠结你的问题。如果你之前技术做得还不错、算是个“高手”,你应该会更加纠结一点,也许每天都在挣扎着:“今天我要写Code吗?” 在深入探讨这个问题之前,先跟大家分享一下我的个人经历吧~ 我在S公司工作已经满5年了。刚加入这个公司的时候,我的职位是Sr. Software Enginee

2010-05-07 10:31:00 5286 10

原创 Engineering = Dev + QA + …

老板在最近一次给我做performance assessment的时候对我说,我是近几年来他看到的进步最大的一位…我知道,他不是在说我的技术进步,而是指管理方面。日复一日地工作,我只是尽心做好职责内的每一件事——像一头埋头拉车的驴;现在回过头去看看2-3年前,我似乎也感觉到了自己的变化——走过了迷茫,走出了困惑,如今的我更加沉着。 现在我担当engineering manager。大家知道

2010-05-07 10:06:00 2971 1

原创 一位台湾读者写的《I. M. Wright's "Hard Code"》第一章閱讀札記

[url]http://huan-lin.blogspot.com/2008/12/i-m-wrights-hard-code.html [/url]

2008-12-31 09:26:37 277

原创 《代码之道》勘误表

[url]http://blog.csdn.net/happydeer/archive/2008/12/21/3574823.aspx[/url]

2008-12-28 09:16:51 245

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除