书籍详情
《MacTalk人生元编程》[53M]百度网盘|亲测有效|pdf下载
  • MacTalk人生元编程

  • 出版社:人民邮电出版社
  • 出版时间:2014-02
  • 热度:10080
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

编辑推荐

  《MacTalk·人生元编程》起于Mac而不止Mac,在Mac之上,讲述技术与人文的故事。程序员的自我表达,释放编程与写作的力量。
  如果你喜欢苹果的产品,那么你可以在书中回顾苹果公司的历史、故事和人物。
  如果你是 Mac 用户,你可以了解 Mac 的命名、演化史、产品设计和工具,还有130个简洁清晰的 Mac 使用技巧。
  如果你是程序员,你会收获编程和建站、Mac 和 Linux、工具和职场建议。
  如果你是 IT 从业人员,你会看到不一样的科技、产品与人文的故事。
  如果……你只是想读一本书解闷,恰好,这是一本达到了有趣标准的图书。

内容简介

  《MacTalk·人生元编程》是一本随笔文集,主要内容来自作者的微信公众平台“MacTalk By 池建强”。《MacTalk·人生元编程》撰写于2013年,书中时间线却不止于此。作者以一个70 后程序员的笔触,立于Mac 之上,讲述技术与人文的故事,有历史,有明天,有技术,有人生。70 多篇文章划分为六大主题:Mac、程序员与编程、科技与人文、人物、工具、职场。篇篇独立成文,可拆可合,随时阅读。
  此外,作者还对原来散落在各篇文章中的Mac 技巧进行了统一的整理和规划,形成130 个Mac Tips,通过阅读这些技巧,读者既可以了解Mac,增长知识,又能够提高工作效率。
  《MacTalk·人生元编程》行文采用了一种技术和人生感悟相结合的风格,起于Mac 却不止Mac,文风幽默又能笔底见风雷。王小波说,“每一本书都应该有趣,对于一些书来说,有趣是它存在的理由;对于另一些书,有趣是它应该达到的标准”。本书就是一本达到了有趣标准的技术书,它不仅适合Mac 用户阅读,更值得所有技术人员随时翻阅。

作者简介

  池建强,70后程序员,Blogger,微信平台MacTalk作者。先后任职于洪恩软件和用友集团,从事互联网和企业应用软件研发,目前担任瑞友科技IT应用研究院技术负责人。
  热爱技术和编码工作,Apple和Google产品重度用户,分享技术,坚持梦想。

内页插图

精彩书评

  ★这本书的几个主题中,我喜欢“科技与人文”这一系列文章,阅读的过程中我也用自己的经历来印证,回顾自己从业过程中那些错误的抉择,给了我不小的启发,建议对自己职业生涯有困惑的朋友能读一下这个主题。如果是五年前看到这本书,我可能会更喜欢“程序员与编程”这个主题。而作为Mac用户,一系列的Mac技巧则直接提升了我的工作效率,我的很多文章就是在MacTalk推荐过的工具上写出来的。
  另外,几乎可以说,这是近十年来重要的讲述Mac文化的书,正在使用或将要使用Mac的人尤其不可错过。
  ——冯大辉(@Fenng),丁香园CTO

  ★技术书容易过时,时候一到,想捐都找不到看的人,只能变回五毛钱一斤的纸浆。而《MacTalk人生元编程》这本书则可预见能经受住若干年光阴的洗刷,因为它谈的是技术人员精彩、困顿又多元,充满选择又没有标准答案的编程人生,作者以温润的文字碎碎念来,让人有“既见君子,云胡不喜”的愉悦。是的,另一个舍不得卖掉的原因是书里的好文字,作者对文字的体认基本上忠于悠长的文人传统,在讨厌写文档或不写文档的IT圈里,殊为难得。
  ——肖桦(@江南白衣Calvin),开源框架SpringSide缔造者

  ★我在美国做过很长时间的程序员,那时就发现美国的程序员和我们不太一样。他们大部分都能说,能写,甚至还会弹乐器,组乐队。很多英文技术书籍,读起来也很有意思,像是在读一本小说。这些现象充分说明了,技术和文艺是相通的,技术宅们也有文艺理想,很多科学家也是艺术家。写程序貌似只需要逻辑,但实际上好的程序员是有个性、有风格、有感情的。我们的教育体制培养出了大批逻辑严谨、智商很高的技术人员,但我相信大家也希望自己具备更高的情商和更好的情怀,这样的人格才更健全、更有魅力。我所认识的池建强老师就是这样一位具备智慧和魅力的翩翩君子,《MacTalk人生元编程》就是这样一本兼顾了技术与人文思考的书。
  ——汤峥嵘(@汤峥嵘-还在路上),途牛CTO

  ★《MacTalk人生元编程》是一本随笔文集,从讲述Mac文化开始,每个故事独立成文,可以随机阅读。书中既有一些技术技巧,也有IT圏内程序员的人文故事,再加上作者比较风趣幽默的文风和自己的观点,这本书可以让你在比较轻松的环境下了解程序员的人文故事,并让你有所思考。
  ——陈皓(@左耳朵耗子),酷壳博主,阿里巴巴技术专家

  ★程序员是世界上可爱的人,老池是程序员里可爱的人。他把半生的感慨和思考都浓缩进了这本书里,每次读他的文字,我都能感受到一种浓浓的人文情怀。
  ——吴翰清(@aullik5),安全宝联合产品副总裁

  ★MacTalk 微信推送的文章我都读过,结册成电子书后我又买下读了一遍。看过整册后,我产生了一种敬畏感。
  这种敬畏感源自我心中对“写了十几年代码的老程序员”这样头衔的赞叹和崇拜——每一个写了十几年代码的程序员都是一本书......这本书就是这样一个老程序员哼的这样一段小曲儿。端起来有很多技术性文章,放下去有嬉笑怒骂和语重心长。
  ——邱岳,微信公众账号“二爷鉴书”作者

  ★按理说,作为一个没有Mac,不怎么懂编程的人,我和MacTalk应该是没有任何交集的。不过现在仍然记得看到MacTalk的那一天:一个初夏的中午,阳光很好,看到Fenng在“小道消息”里推荐了Mac君的公众账号,正好吃完饭闲来无事,于是顺手加上了,然后就看到了沉没成本那篇文章,正好之前在曼昆的《经济学原理》里看到过这个名词,印象很深刻,于是查看历史消息,发现作者在精通技术之余,还有着深深的人文情怀,这在码农界是不多见的,于是慢慢变成了Mac君的忠实粉丝,每一篇文章都能给人启发,更难能可贵的是,作者对每一条回复到公众账号的消息都会认真阅读并且尽力解答读者的问题,这在很多傲娇的公众账号中更是不多见的。
  在之前的印象中,码农都是一群带着高度近视镜,脖子僵硬,弯腰驼背的nerd(s),对人生有着令人不敢苟同的奇怪看法。但是Mac君这本书的出现,很大程度上颠覆了这种印象,作者不仅具有high level的专业技能(在百余篇MacTips 里有充分体现),而且行文生动,文字幽默,在保证知识性之余,也兼顾了全书的可读性。
  ——密码有误

目录

写在前面的话
技术写作与减熵
但行好事,莫问前程
生命中遇见的每一本书,都不是偶然
开篇:为何而写
Mac
Macintosh 的命名
1984,Mac 诞生
Macintosh 演化史
说说我和Mac
品评OS X Mavericks--唯快不破
免费的代价--从OS X 免费谈起
选择Mac
开始使用Mac
非同凡想
怀念2007
年轻时的梦想还在吗
苹果的语言
Mac Tips
程序员与编程
并发的错觉
程序员的性格
程序员如何提高英语阅读水平
普通人之殇
趣谈个人建站
人生元编程
如何提问
如何学习一门编程语言
神奇的程序员--王小波
Linux 的文件系统王国
科技与人文
不要做一个Hater
沉默的坚持和沉没的成本
缅怀那些沉没的项目
锤子和钉子
读书日谈书
付费阅读
技术成长
克隆高手
老兵不死,只能自我提升
没文化有人文
明天的科技
你有多少时间
自由软件
允许吹牛
用好自己的份额
也无风雨也无晴
写作与编程
奇特的一生
是旅行还是长跑
西塘古色
《晓说》不小
遗失的访谈--岁月无声
怎能忘了西游
重读黑客与画家
人物
传统的黑客--史蒂夫·沃兹
从汇编到太空--保罗·艾伦
敬畏之心
设计巨匠--乔纳森·艾维
工具
Vim
神兵利器--Alfred
终极Shell
职场
留不住的人才
薪水几何
顾得上就问,是为“顾问”也
跟着老大去跳槽
一生要面试多少回
去创业还是继续编程
去公司上班还是独自在家
独自在家续篇兼答读者问

精彩书摘

  一生要面试多少回
  一生要面试多少回?才能不流泪;一生要流多少泪,才能不心碎。在职场这个系列里写了职业、薪水、跳槽等内容,这一篇就说说面试那点事儿,送给那些因为面试痛过、苦过、心碎过的同学。
  说起面试,我个人面试的经历原本可以用“平淡无奇”四个字来形容。但是有一个因素让这事儿变得有趣起来,那就是作为一个从小球和宋兵甲之流开始练级的程序员,一路走来,居然没有参加过任何一次笔试!每次都是谈谈就上班去了。想想现在的招聘流程,层层把关,处处埋伏,笔试、面试、机试,一个都不能少,最后还有HR 试。哪个坑没看到都能摔个鼻青脸肿,爬起来拍拍土不哭,职位已经随风飘走。
  我个人在IT 行业只换过三次工作。第一次是从顺义郊区南下北京,兜里揣着一张三寸软盘,里面装了一些散碎的JavaScript 代码。面试时没谈几句我就说“Talk is cheap, show you mycode”,然后强行给人家演示程序,几个土土的页面元素在浏览器上飘来飘去。由于那时DHTML 还不常见,几个面试的人面面相觑,不明觉厉,于是面试就通过了。凭着这一招我顺利地进入了洪恩,那次找工作我准备了半年的时间(在“薪水几何?”一篇里已述)。
  第二次面试经历是去一家外企,属于朋友推荐。这时我的面试工具已经从三寸盘升级为笔记本电脑,没想到这次工具没派上多大用场。面试官对Linux情有独钟,属于铁粉那种,如果别人无视或诋毁Linux,马上就和人家进入你死我活的状态。这兄弟专门询问Linux相关的技术问题,这下可把我乐坏了,他不知道我在洪恩三年Linux 用得比Windows 还熟!再加上朋友推荐的因素,顺利入职,这次面试几乎没做什么准备。
  第三次面试就是来到现在这家公司,细节不表,一面之下就足足工作了8 年,直到今天。8 年说长不长,说短不短,8 年前Facebook 刚刚成立,8 年后美国总统都换了,而且是连任。我个人则鲜有成就,一事无成,说起来都是酸楚的泪。
  写到这估计很多读者就开始骚动了:“Mac 君,看你的面经在我们面试界只能算是面瓜级别,何德何能以面试作题?”
  这……(擦汗中),被面虽少,但Mac 君善于总结总有收获,而且年龄越长阅人越多,俺面试过的人可不少呀,所以多少可以说几句不是?
  关于面试,我想从这么几个主题去说说:求职类型、情有独钟面试准备、简历、要有光、面试过程、反馈。希望能够对正在找工作或想找工作的同学有些许帮助。
  求职类型
  我把求职类型分为:主动求职和被动求职。初入职场找工作;钱没给够,心委屈了,想换工作;这都算主动求职。朋友推荐、猎头挖人,算是被动求职。我推荐大家主动求职,主动总是好事,我们可以有规划按步骤地找到新的工作空间。被动求职则偶然性更大一些。猎头找你了,千万别觉得自己身价倍增,很多因素需要自己考虑,职业方向、环境、空间、薪资等,猎头是不会替你考虑这些的,他们唯一的目的就是让你入职目标公司并获取那份佣金。当然,如果确实有好机会你也别愣躲。我有个朋友,在几个公司之间跳来跳去,但每次都能恰如其分地躲过事业发展和积累财富的机会,就像上帝在天空中拿着一把机会往他身上砸,但每次都让他以无比凌厉的步伐躲过,看得上帝扼腕叹息。有一次吃饭我问他,你是怎么做到的?他点根烟说:“这是命。”
  其实不是命,判断和选择而已。
  在这篇文章里,我们主要谈主动求职的面试,如果想听被动求职的道道,请出门右拐上楼!
  面试准备
  既然是主动求职,那一定要做好充分的准备,太祖说了,不打无准备之仗。如果你想做一次慎重的工作变动,那么花3~6 个月的时间去准备是值得的。当然这3 ~ 6 个月不是让你辞职在家闭门思过或暗暗练习九阴白骨爪之类的速成武功,利用业余时间对自己的目标知识体系查漏补缺就可以了。
  很多人找工作采用广撒网多捕鱼的方式,满世界撒简历,期望搂草打兔子,碰见一个算一个。这种方式靠的是运气,如果你最近买彩票没中过20 块以上的奖金,那还是要靠实力和准备。准备内容大概有下面这些。
  1.明确自己现有的知识领域和目标职位的匹配程度
  比如你现在的工作就是挖坑,但是坑挖得前宽后窄、忽深忽浅,空间也不够,这时候你就想找个更敞亮的地方去挖出质量更好的坑,这种匹配程度就很好,在技能层面简单准备就可以了。如果你现在是个程序员,想去从事销售这种似乎更有前途也可能死得更惨的职业,匹配程度就差多了,需要花更多的时间去准备,3~6 个月可能还说少了。
  愿意继续编程,还是换行业挖坑,这都是选择。坚持可以让你走得深远,改变可能让你飞得更高,选对了都是好事,选错了……就是自己挖坑埋自己。
  2.技能准备
  搞清楚自己的职业诉求,就可以对症下药了。如果你是技术人员,先要把基础的东西收拾收拾,IT 技术虽然浩如烟海,一日千里,但基础的东西几十年没有太大的变化,操作系统原理、进程和线程、并行和并发、I/O、文件系统、TCP/IP、数据结构、面向对象、函数式编程等,看看哪儿薄弱,哪些急需,按需进补别吃错药。关于算法,如果你不打算做算法工程师,了解一下排序查找二叉树就差不多了,我对面试直接考算法题是深恶痛绝的。
  基础夯实之后,就要针对你目标职位的领域内容做些知识储备了。想做大数据的,最好知道GFS、Hadoop 等技术;想去做移动开发的,iOS 和Android不能比翼齐飞,至少要选择其中一个;想去做搜索和推荐的,那算法就成为必备技能了,等等,诸如此类,余不一一。
  关于技能面试的准备,有一本圣经级别的教材,叫做《Cracking the Coding Interview》,150 道编程面试题几乎涵盖了各个领域的编程知识,你觉得把这些题都做一遍得多长时间?按照正常人一天做5 道,你得用足一个月!看到这儿是不又崩溃了,“哪有那么多时间啊”。别急,我很早就说过,世界上总是存在一些看起来不是那么正常的人,他们会做一些凡人不能理解的东西,面试界也是一样,有位面霸级别的人物,不仅把这些题做了,还写了一篇《Cracking the coding interview——问题与解答》的博客,逐一翻译和讲解,最后还把代码放到了GitHub 上,看到这里别以为伸出湿漉漉的手指点赞就算了,记得以后做些傻事回馈社会!
  如果你是非技术人员,请参照技术人员的内容进行准备“Mac 君只能帮到这里了……”
  3.目标公司
  主动求职最好有目标公司。周星驰在《喜剧之王》里说:“我的理想是做一个演员”,他成功了。作为芸芸众生的我们,求职一样需要有理想,这样才能找到有理想的公司去实现理想。如果只是为涨三千块跳槽,为五斗米折腰,也不是坏事,但阅读这篇文章的意义就没有了。
  根据你的特长、诉求和发展规划,选择自己喜爱的公司。别太多,你要是把世界500 强都列进去,那下半生估计都将踯躅于面试和赶往面试的途中,此恨绵绵无绝期。也别太少,非Google 和Apple 不进的同样具备找抽的潜质。我曾经见过非清华、北大不上的学子,把人大递来的入学通知书在风中撕碎转身离去,复习一年上了大连理工。对于这样的孩子,他们根本不知道一年的时间对自己意味着什么。
  选择了心仪的公司,不是让你把这些公司的Logo 挂墙上供奉的,去了解这些公司的业务范围、招聘需求和招聘的时间区间。
  这时可能又会有同学质疑了,不就是个目标公司吗,能不能入职还不知道,了解那么详细有什么用?
  了解业务是为了防止面试时人家问你:“Why Apple?”你回复:“Sorry,I
  have no idea about this fruit.”
  了解招聘需求是为了让你的技能准备更有针对性。
  了解招聘区间当然是为了让你适时投简历啦,这还用问吗?
  好了,经过了长时间的自我提升和完善,你的能力和精力已经达到巅峰状态,
  你拔剑四顾心茫然……这时突然有个心仪的公司高薪把你挖走了……
  咳,这位同学醒醒,擦干嘴角的口水,这种戏剧性的变化要么发生在梦里,
  要么发生在别人身上。咱该准备简历了……
  ……

前言/序言

  写在前面的话
  在这本书即将付印的最后阶段,本书的责任编辑杨海玲老师找到了我说:书要出版了,你要不要写个前言和读者说两句?我说:来得及吗?杨老师郑重地看着我点了点头。好吧,那就说两句,于是就有了这一篇前言。
  我小学四年级之前一直在农村居住,那时候没见过汽车,只见过马车和小推车。搬到城市之后才发现,这世上居然有汽车这种交通工具,那时我的理想是当一名212 吉普车的司机。后来见的车多了,觉得司机不够神气,我希望拥有一辆自己的汽车。这个理想在长大后也实现了。但是我从没有想过自己会出版一本书!今天这本书也要出版了,我很欣慰。
  现在回想起来,这本书的诞生经历是传奇和值得称道的。我从来没有出版过一本书,曾经有几次心血来潮想写本技术书,结果规划完目录后自己已经疲惫不堪了,看着层峦叠嶂的目录结构,我仿佛走在一个没有出口的迷宫,想到以后的每个日子都要用业余时间去写这些枯燥的技术文字,我仿佛置身凄风苦雨中而茫然若失,所以,写书计划还没开始,就已经结束了。但是大家都知道,胸中有丘壑的人总能找到吐槽的土壤,是金子总会发光。2012 年8月微信推出了公众平台,我终于找到了一个写作的契机。
  2012 年12 月,我开始运营自己的微信公众平台“MacTalk By 池建强”,几乎每天一篇,半年内写了100 多篇文章。之所以能够坚持下来,我想得益于公众平台的交互性和正向激励,如果每天都有人告诉你,晚上不读完你推送的文章就不睡觉,你也会坚持下去的。慢慢地读者越来越多,很多数字出版界的朋友也加入了这个队伍。突然有一天,他们不再潜伏,而是爬起来告诉我,你的这些文字该收拾收拾出本书了!我原本是不信的,不过,先是多看的朋友这么说,然后是豆瓣,然后是亚马逊,然后我就信了。这种感觉就像是我一个人混迹于敌占区多年,突然冒出了很多自己的同志,拍着我的肩膀说:小同志,你干得不错!我感到无比荣耀,紧紧握住他们的双手,激动地说:可算找到组织了,其实,俺早就想出本书!
  于是电子版的《MacTalk·人生元编程》问世了,书中的内容截止在2013年8月底。
  电子书上线后获得的赞誉超乎我的想象,在多看平台上线当天就跃居畅销榜第一名,从此一路榜首,整整霸占了一个月之久。随后上架的很多新书都对我这本书发起了猛烈的攻击,最终都如潮水般褪去,它们失败了,包括韩寒推出的《一个》。因为这个原因,程序员老赵时不时调侃我为“超越韩寒的男子”,虽然这句话看起来错误百出、逻辑混乱,完全不像出自一个优秀程序员之口,但我听起来还是若有所思的。
  截止到2013 年底,多看上的《MacTalk·人生元编程》获得了700 多个评分,平均得分9.1,另有230 多条读者评论。有些读者说这是他们的第一本电子书,有些读者说一口气读完,酣畅淋漓。我的感受有两点:
  1. 我为电子书事业做出了些许贡献;
  2. 又不是武侠小说,读那么快有必要吗?
  事情终于到了峰回路转的时候。电子书虽然风光,但仅限于电子阅读的领域,而且,单纯的电子书是没有ISBN 的,想做个图书认证都不行,还不能签售,你总不能卖本书搭个镌刻版 Kindle 吧。这时候另一群关键人物出现了,他们是传统出版界的好朋友。每个人都告诉我,电子阅读确实是未来的方向,你已经考虑了未来的事儿,那现在的事要不要管?只有电子版,你让广大钟情于纸书的群众怎么看?让想要签名版的读者怎么看?……于是我觉得,是时候出一本升级版的《MacTalk·人生元编程》了。最终这个重担落到了程序员的好朋友、人民邮电出版社的杨海玲老师肩上。
  和人民邮电出版社的合作是轻松愉快的。我继续写作,除了完善之前的文字之外,还要为这本纸质版再增加十万字。出版社的编辑和美编则开始对于原有的文字进行校对和美术设计。一切都很顺利,除了我偶尔出现写不下去或改不下去的情形。杨老师对我是非常宽容的,遇到这种情况,她就会语重心长地告诉我:对你我心里有底,选题咱已经报了,选题号也已经批了,情况就是这么个情况,所以您写也得写,不写也得写,还是写吧。于是我的文章顺利地完成了……剩下的就是杨老师和编辑们的工作了,他们像打磨璞玉一样一点一点地打磨这本书,从文字、内容、印张和色系选择,到最终的版式设计和封面设计,一个细节都不放过。修改顺利的时候他们不会来找我,偶尔找我的时候也是咨询一下我的个人意见,我只要一言不发或若有所思就可以了,因为杨老师他们总能找到最佳的做法。我唯一的任务就是等待,或想点儿别的。
  最终的成书就是您手中的这本书,它的封面设计和正文版式都是独一无二的。书封简约大方,干净得一塌糊涂,体现了MacTalk 所倡导的纯粹之美。没有腰封,没有邀请业界大牛和土豪在封底写推荐语(年底了,他们都在做新年计划,我就甭给人家添麻烦了)。正文采用图文并茂的方式,页码和标题都精心设计过,如果您获得了良好的阅读体验,那么我们要感谢这本书的美术设计。
  书的内容比原来的电子版增加了 Mac 入门和演化史系列、Linux 系列、Vim插件系列、职场系列、编程与写作等内容,全书共计70 多篇文章,划分为六大主题:Mac、程序员与编程、科技与人文、 人物、工具、职场。篇篇独立成文,可拆可合,您可以随时翻阅。Mac 主题的最后部分是130 个 Mac使用技巧,供 Mac 用户参考使用。另外,我根据书中的主题和时间线,重新调整了文章的顺序,更符合读者阅读习惯。
  这既不是传统意义上的 Mac 用户手册或技术图书,也不是一本思想文集,而是一个70 后程序员,以柔软的笔触,立于 Mac 之上,讲述技术与人文的故事,起于 Mac 而不止 Mac。书中写了 Mac,说了苹果,聊了技术,侃了人生元编程,汇聚了我个人的经历和悲喜。您读完了,有收获就是好事,不用想的太多。
  如果书里在讲 Mac,那就是苹果公司的 Mac;如果在说Shell,那就是操作系统的Shell,如果在聊程序员,那就是你我身边的程序员。我尽量做到文字简单、内容有趣,因为简单和有趣也是一种力量,希望您读完这本书以后,也能拥有这种力量。
  王小波说,“每一本书都应该有趣,对于一些书来说,有趣是它存在的理由;对于另外一些书,有趣是它应该达到的标准”。我希望这本书达到了有趣的标准,同时还讲了一些有用的东西。如果您说没达到,那我下次继续努力。
  在写作的过程中,我得到了很多朋友的帮助,包括技术圈和出版界的朋友。其中冯大辉先生在我运营微信平台和写作的过程中给予了诸多支持和推荐,并为此书作序;微信平台“二爷鉴书”的作者邱岳为此书作序并多次推荐;网友“密码有误”为此书作序并进行了部分文字的校对。杨海玲老师在成书的过程中起到了中流砥柱的作用,没有她的催促和辛劳的工作,此书无法出版,在此一并谢过。
  特别感谢我的妻子和女儿,写作占用了我大量的业余时间,虽然我很努力地抽出时间去陪伴家人,但在这方面显然是不达标的。没有她们的包容、照顾和期盼,此书无法出版。
  最后,我把这本书献给我的父母。我的父母就像千千万万的普通父母一样,永远在远方默默注视着子女的成长。我在他们身边得到了最好的教育和关怀,他们是这个世界上我最敬爱的人!
  池建强
  写于北京,2014 年1 月8 日,晴
  技术写作与减熵
  池建强兄告知我他的书即将出版,作为他的微信公众账号“MacTalk”的忠实读者,必须要支持一下。“MacTalk”和我的“小道消息”差不多同时期开始进行写作,我们也经常交流写作和运营的经验,从内容流行性上来说,我的“小道消息”赢得了更多读者和一点名声,但从内容上看,“MacTalk”则对读者更有价值,所以,一有机会,我总要推荐一下他的账号。
  这本书的几个主题中,我最为喜欢科技与人文的这一系列文章,阅读的过程中我也用自己的经历来印证,回顾自己从业过程中那些错误的抉择,给了我不小的启发,建议对自己职业生涯有困惑的朋友能读一下这个主题。如果是5 年前看到这本书,我可能会更喜欢程序员与编程这个主题。而作为Mac用户,一系列的Mac 技巧则直接提升了我的工作效率,这篇文章就是在MacTalk 推荐过的工具上写出来的。
  或许有人觉得,写书会带来经济收入和名气,但实际上,我个人认为这可能是一种误解。在我们这个领域,写书的确会带来一点“好处”,但肯定比很多人预期的要小得多,对于作者来说,投入和产出简直不成比例。如若不信,也可以先算一笔经济账。假定一本讲技术人文的书能卖到5 000~10 000册,按照8% 的版税来计算,也就是几万块钱的收入,这还没缴税呢。当然如果是出版电子版图书的话,则需要另作计算,但经济上的收入也不会有多高。而一个作者在这上面投入的时间和精力如果用来做点别的事情的话,比如出去做几次培训,或者是做个技术顾问收点咨询费什么的,轻轻松松也能拿到这个收入。至于“赚”名气,写再多的书怕也不如多参加几次行业会议、多做几次公开演讲赚取名气来得快。
  王小波称自己的写作是一个“减熵”的过程,通俗一点说就是“吃力不讨好”。考虑到王小波曾经也是个不错的程序员,套个近乎,算是咱们这个行当的,所以这一点上IT 人倒是容易对他的文章有共鸣,至少我就受到了一些影响。我曾在微博上说过,尽管曾被怂恿或是鼓励去写本书,但是总还下不了这个决心。一方面是考虑到经济账。另一方面,心里也有点担心总干这个“减熵”的事情是不是有点自己跟自己过不去· 还有一个不好意思说的原因是,我一想到像建强这样把文章重新整理一遍就头大,总是有畏难情绪。但是世界上总是有人在不停地做这种“减熵”的事情,我想这么做的人可能就是因为这是一种乐趣,一种真正的乐趣,尤其是你的文字能够帮到人、能够启发别人的时候,那种快乐难以言说。
  作为读者,我能做到的事情并不多,想来想去,唯有尽可能地支持作者的创作,并且向更多人推荐这本书。顺便说一下,如果他这本书销量好的话,不排除我也会“减熵”一次。
  冯大辉
  丁香园技术负责人,网络 ID:Fenng
  但行好事,莫问前程
  MacTalk 微信推送的文章我都读过,结册成电子书后我又买下读了一遍。看过整册后,我竟然产生了一种敬畏感。
  这种敬畏感源自我心中对“写了十几年代码的老程序员”这样头衔的赞叹和崇拜——每一个写了十几年代码的程序员都是一本书。
  我也差点儿能成为一个“老程序员”,我父亲该算是国内第一代程序员,我出生时他在一所大学教编程,而我母亲当时在另一所大学教统计。诞生在这样的一个家庭,我几乎在育婴室就被贴上了“很可能会是个码农,请注意安全”的标签,接生的护士说:“这小宝贝好可爱,来给姐姐笑一个,笑,笑,你倒是笑啊。”我冷漠而淡淡地回应:“Bad command or file name.”
  我曾有过在短时间内带着极大的心理压力,以极大的工作量写代码的经历,我甚至不太敢回忆那时的感受。我知道那种长时间面对一台机器的冰冷和绝望。机器没有感情,它执行你要求的每一句逻辑,你对它没什么脾气,因为起承转合都来自于你的编排,机器只是精确执行。
  有人评价程序员说他们“成天跟机器打交道”,别闹了,电脑才不会跟人打交道,在这台坚硬的机器前,一切喜怒哀惧都是程序员心中的自言自语。于是很多人觉得程序员很可怜,木讷、神经质、不善交际、不修边幅,嘲笑程序员的段子足够装一火车。我听到不少姑娘偷偷地跟自己的闺蜜说“别嫁程序员,没情趣”,或者“嫁个程序员,老实、有钱、死得早”。
  在这种诡异的环境中,很多程序员都在“转型”和“突破”,做产品,做运营,做职业吹货,他们想办法甩开“做技术的”或“写代码的”标签。我不止一次听到“程序员是吃青春饭的,你还是得赶紧转型”这样的所谓前辈忠告。
  如此背景之下,“一个写了十几年代码的老程序员”头衔的背后,似乎一定有一曲二胡拉就的挽歌,你忍不住掏出纸巾想递给对面已经年逾不惑的他,伸手叫服务员“再上一箱啤酒,冰的”,你悲怆,你泣涕涟涟,你起好了范儿,准备听他开讲。
  结果他一开口,竟然是……
  活泼幽默轻松直率荤素搭配清爽可口……
  “可是船长,这明明是一场悲剧,你笑什么呢?” “谁说这是一场悲剧了!”
  这本书就是这样一个老程序员哼的这样一段小曲儿。端起来有很多技术性文章,放下去有嬉笑怒骂和语重心长。
  当然了,书名叫做《MacTalk·人生元编程》,自然有不少Mac 技巧。看得出他对苹果情有独钟,书中开篇就是Mac 的历史和故事。他还有一篇被广泛转载的“趣谈个人建站”,细致到代码级别。他还写人,写书评,说是书评,实则是自省、梳理和复盘,他读《黑客与画家》,势必跟我这个只写过几行代码的产品狗读起来深度不同,我喜欢他那篇书评。
  他有代码情结,感觉就是随便一撩动,他就马上坐那儿不起来非要给你写上一段儿,还拉着你让你看他写,你瞅瞅书中字里行间那些代码,像着了魔似的。书里我最喜欢的一篇文章是“人生元编程”,他做了一个跨度非常大的类比,用元编程的思想类比人生,那段时间我正在看《自私的基因》,我在这三个概念中间也找到了些似是而非的暗合。
  我觉得这篇东西是程序员用程序机制思考人生的一个缩影(当然了书里还有些其他的缩影比如并发什么的),如果你只是一个把堆代码当差事的程序员,我特别推荐你看看这一系列文章,它们或许会帮你打开一扇门,看看这种奇异的关联。
  比如你可以在爱情中拒绝GC,自己照顾(take care)你的每一段回忆(memory),多浪漫啊。
  他认同对他文笔“相对轻松温和”的评价,他说自己在网际多年看惯了刀锋和鲜血,所以他不愿意参与或挑起争端。但我不同意他的文笔“温和”,我觉得不温和,而且挺有情绪的。有情绪的文章读起来像作者在跟你聊天儿,也很容易有代入感,是好事儿。
  这本书有70 多篇文章(其中还有130 个MacTips),写了这么多内容,书的价格只有40 多块,要说作者好歹也是一个正儿八经的技术大牛,到底图了个啥?他在开篇里是这样回答这个问题的——“但行好事,莫问前程”,我太喜欢这句话了!
  我想把它送给每一个在深夜烧烤摊前黯然神伤的人们,精于算计的人们,小心翼翼的人们,举轻若重的人们,当然也包括我自己——但行好事,莫问前程。
  泰山崩于前,我依然沐浴更衣焚香沏茶,诚心正意,手起键落:
  Hello World!
  邱岳
  微信公众账号“二爷鉴书”作者
  生命中遇见的每一本书,都不是偶然
  霍夫斯塔特(《哥德尔、埃舍尔、巴赫——集异璧之大成》的作者)在给内格尔的《哥德尔证明》一书作序时,写过这样一段令人印象深刻的话:“……当时是1959 年秋天,在门罗公园的开普勒书店里,我完全偶然地见到了《哥德尔证明》。可能此刻在中国,有个人——可能就是你——正在书店里面随意浏览这本书,正在翻动它的书页并正在读着眼前这些词句。或许如果你买了这本书,会使你的生活发生革命性的变化,就像这本书对我那样!当然,也可能什么也没有发生。或许正在读这些话的不是你,而是站在书店别处的另外的人。也可能你根本就不在书店里。或许你还正在睡觉呢!但是不管是哪种情况,不管是你或是别的什么人,我的确希望在中国有人能发现这本书,能感受到它是如此之美妙,如此之激动人心……”
  按理说,作为一个没有Mac,不怎么懂编程的人,我和MacTalk 应该是没有任何交集的。不过现在仍然记得第一次看到MacTalk 的那一天:一个初夏的中午,阳光很好,看到Fenng 在“小道消息”里推荐了Mac 君的公众账号,正好吃完饭闲来无事,于是顺手加上了,然后就看到了沉没成本那篇文章,正好之前在曼昆的《经济学原理》里看到过这个名词,印象很深刻,于是查看历史消息,发现作者在精通技术之余,还有着深深的人文情怀,这在码农界是不多见的,于是慢慢变成了Mac 君的忠实粉丝,每一篇文章都能给人启发,更难能可贵的是,作者对每一条回复到公众账号的消息都会认真阅读并且尽力解答读者的问题,这在很多傲娇的公众账号中更是不多见的。
  然后Mac 君就出了书,在多看买了,又看到豆瓣也上架了,说实话,对于我这种早已告别了文艺青年这个称号的人来说,实在不好意思来这么小清新的豆瓣发评论,不过,这本书确实给了我很多启发,所以,写下这些,也是为了让更多人能够有缘和它相遇。
  乔帮主在著名的“遗失的访谈”里曾经说过:每个人都应该学习一门编程语言。我个人认为,这句话是非常有道理的,不仅仅是为了会写代码,能够实现自己的想法,更重要的,是通过这种训练,能够培养程序员的思维方式。正在我为学习哪门语言难以选择时,Mac 君适时推出“如何学习一门编程语言”这篇文章,以一位过来人的身份提点后学。在他的推荐下,开始学习Python(和那位码模没有关系,完全是因为今年是蛇年)。有人说,养成一个好习惯需要21 天,坚持到现在,每天写几段代码已经成为我的习惯,也许在高级码农眼里,我只是一个非常非常初级的入门者,但是对我自己而言,能够从coding 中获得乐趣,将来某天有能力实现自己想完成的事情,就已经很令人满足了。
  我一直认为,书和人是有特殊的缘分的,缘分这个词也许有些矫情,更确切的说,遇到的每一本书,冥冥中与你都有特殊的connection。在之前的印象中,码农都是一群带着高度近视镜,脖子僵硬,弯腰驼背的nerd(s),对人生有着令人不敢苟同的奇怪看法。但是Mac 君这本书的出现,很大程度上颠覆了这种印象,作者不仅具有high level 的专业技能(在百余篇MacTips 里有充分体现),而且行文生动,文字幽默,在保证知识性之余,也兼顾了全书的可读性,再加上这么便宜的定价,不买本支持一下,怎能对得起这难得的偶遇呢?
  正如题目《MacTalk·人生元编程》中“人生元编程”所暗示的,这本书也是作者思考与自省的结晶。所谓“元”(英文“meta”),就是指能够对自身状态进行描述。例如希尔伯特当年所说的“元数学”,就是指关于整个数学系统的语言,那么元编程,就是能够操作代码的代码,人生元编程,就是具有自省能力,随时检查和控制自身的情绪和行为、思考自己的想法、改变大脑的动机……或者,用一句简单的话来说,就是对当下的状态保持清醒的“觉知”。
  继续用霍夫斯塔特的话来结尾吧:“……如果你问我是否取得了最后的成功,答案是‘当然没有!’如果是的话,生活将会变得令人厌烦。如果人的心灵会被化简为几条僵化的规则,或者是相当大的一个僵化规则的集合,那会是一件令人极度悲哀的憾事……我们是幸运的,因为我们的心灵是如此不可预知;正因为如此,生活才充满了情趣。尽管如此,我们仍在进行努力来科学地了解我们自身……”
  希望每位有缘读到这本《MacTalk·人生元编程》的读者,都能像作者期待的那样,具有人生元编程的能力,洞察自身的微妙与精深。
  密码有误
  开篇:为何而写
  在盛夏的某个周末,我在杭州度过了一段美好的时光。见到了很多老朋友,认识了很多新朋友,参加了阿里嘉年华的“夜聊”节目,领略了夜行西湖的美妙,此行非虚。
  杭州的天气和北京截然不同,北京要么是热烈的阳光直射大地,干燥温暖,要么是大风裹挟着暴雨席卷京城,要么以漫天的雾霭夹杂着浓浓的PM2.5 气息为你带来“这才是北京的直观感受”。杭州就温和多了,阳光似乎总被一层薄雾笼罩,温度很高,但空气中总夹杂着水汽,出去转一圈浑身湿漉漉回来的一定是北方土鳖,偶尔碰到一个PM2.5,它会告诉你,“我要旅行去北方,那里才是我的家”,想想让人颇为绝望。说是有台风,但台风也只是轻轻掠过杭州上空,带来了些许清凉,带走了一些红尘。
  现在我即将离开这座美好的城市,坐在开向北方的列车上,颇为惆怅地写下今天的MacTalk 主题:为何而写?
  在阿里嘉年华的“夜聊”节目中,有一个问题是“你为什么要写东西?”换个文艺一点的说法就是,你就是个写代码的,不去好好做程序员这份有前途的职业,为什么要来写文章呢?谁让你写了?能挣钱吗?有人看吗?你爸爸妈妈知道吗?你的老板允许吗?……每个嘉宾都谈了自己的看法,我整理一下自己的思路,分了以下这么几点,看能不能把这事说得清楚一点。
  程序员崛起。我觉得程序员这个群体是非常幸运的,我们生在一个技术改变世界的时代,而我们可能正在做着能够改变世界的技术,这是何等的荣耀和机遇。想想Apple 的终端设备、Google 的眼镜和汽车、Amazon 的电子阅读、阿里的电商和金融梦,难以想象10 年以后这个世界会发生什么样的改变,更不用提那些还在车库里酝酿的各种奇思妙想,而这些改变,程序员都将参与其中。虽然我们现在依然会遭遇到这样的烦恼:“大哥,听说你是搞电脑的?” “我做了10 年技术了。”“好的,能帮我装个XP 吗?要番茄版的。”这时候就可以把兜里准备好的西红柿扔出去了,如果不会扭到自己的老腰,再加个360°回旋踢就更加完美了。
  不要给自己设限。谁说程序员只能写代码了,谁说程序员都是宅男了?程序员里才华横溢的多了去了,无论是《黑客与画家》还是《乔布斯传》都描述了很多具备文艺气息的技术大师,他们要么作画、要么弹琴、要么写作、要么运动,同时还写得一手好代码。其实万事万物都是相通的,要么熊样要么鸟样,如果你能够把代码写得很好,那么为什么不去把自己的思想和设计通过文字表达出来呢?如果你能够把技术文章写好,慢慢就能写出人文类的文字,慢慢你就会发现自己已经站在科技与人文的十字路口了。最高境界就是,你站在哪,哪里就有一个刻着科技和人文路标的十字路口。
  在MacTalk 之前,我写博客,也为一些媒体写文章,最好的时候一个月会写2 ~ 3 篇,每次约稿都要拖到最后才能完成,但是开始写MacTalk 之后,到今天为止,近8 个月的时间我写了180 多篇有效文章,平均每周5 篇左右,文字总量在15 万到20 万,这个惊人的数量是我从来没想到的,而且花费的时间是我剪切了刷微博、浏览网页、扯淡、看电视的时间,粘到MacTalk 上的,每个人的时间就那么多,我觉得我并没有损失什么。所以,不要为自己设限!
  写作即思考。写作其实就代表思考,你需要言之有物,需要架构、需要梳理,要有开端、有结尾、有结论、有主题,特别神奇的是你构思了一篇文章。写完后发现文章像具备了生命一样生长出了很多奇异的果实,它们就在那些文字中间微微颤动,闪烁着独特的光泽,仿佛被岁月冲刷过的鹅卵石一样,而这一切你可能完全没有想到过,而且不可复制。所以有时候我们去看之前写的文章,会产生两种感觉:要么是觉得写得太烂了,怎么会写得如此臭不可闻;要么是觉得写得太好了,妈妈我再也写不出这么牛的文字了,我觉得这两种感觉,都挺好。优秀的写作者不仅能让事情变得容易理解,而且能够换位思考,沟通顺畅思维敏捷。与这样的程序员交流是赏心悦目的。遇到问题时他会抽丝剥茧,告诉你问题的前因后果,由表及里,并且把能够反映问题的各种信息都提供给你,包括他自己尝试解决问题的措施和结果.所以,为自己写作!
  附加值。写MacTalk 的初衷是给大家介绍一些Mac 相关的技术和技巧,从来没想过商业化和媒体属性,但是做到现在,积累了几万名读者,每天都有用户的反馈和赞助,他们告诉我这些文字为他们带来了欢乐、思考和启发,解决了问题,我告诉他们开心就好。MacTalk 还为我带来了很多好朋友,有知名大公司的,也有不知名的小公司的,还有在创业的。天地悠悠过客匆匆,能认识这些朋友,真好!所以,为读者写作,附加值会随之而来。
  MacTalk,为自己而写,为读者而来。但行好事,莫问前程;河狭水急,人急计生。