伟大的梦想都足够疯狂——拉里·佩奇密歇根大学毕业典礼演讲

sunset1

五一小长假最后一天的下午,小主们终于各回各家了,我得以睡了一个漫长的午觉,后果就是做了一个真实而诡异的梦。

在梦里,地球已经濒临毁灭的边缘,至于为什么,只有梦里的我知道。大部分人类迁移到了另一个灰暗而冷峻的星球,天空阴冷,大地荒凉,没有动物,没有植物,到处是钢筋水泥和泛着各种光泽的金属。每个人似乎都变得沉寂,一言不发,心事重重……虽然很多细节记不起来了,但绝望的情绪一直蔓延在整个梦境里,我在梦中似乎不断醒来确认,真的不在地球了!那种孤绝的心境是我在真实世界里从未体验过的。

等我真正从昏睡中醒来,夜色已经开始降临,打开窗,看落日辉煌,听狂风呼啸,我感到无比开心,地球真好!

当天晚上,我为了把自己从绝望的状态里解救出来,决定看点打鸡血的东西,于是选择了拉里·佩奇(谷歌创始人)在密歇根大学的毕业典礼演讲,并根据演讲视频整理了一份文字版。这项工作花费了我将近两个小时的时间,完成之后,我发现自己满血复活了。如果你也曾感到过绝望,那么请阅读这个演讲的文字版(视频在最后)。以下是正文:

Continue reading

云端的钥匙串

keychain

上一篇写了「互联网安全,普通网民无可奈何之痛」之后,很多朋友问如何管理自己的密码。现代世界,互联网服务几乎渗透了人类生活的方方面面,无论你向左走还是向右行,密码管理都成为躲不开的问题。想当年「左青龙,右白虎,一串钥匙挂腰间」的日子一去不复返了,现在你得依赖云端的「钥匙串」。

关于密码使用的一些基本原则,我在上一篇文章中介绍过,摘录如下:

1、密码不要过于简单,比如123456或你的生日等,大小写字符+数字,算是合格的密码。 2、不要一个密码走遍天下,你应该为不同类型的网站准备多套密码方案,分级使用。 3、首次使用某些软件系统(比如路由器),一定记着改掉初始密码。 4、如果可能,采用密码管理工具,比如1Password,Keychain 等。

既然密码是刚需,那么一定会有聪明人通过软件来满足这个需求,所以我们今天主要聊聊最后一点:密码管理工具。

上文中提到的1Password是一款跨平台的收费密码管理软件(OS X、iOS和 Windows),很好用,但我今天并不准备介绍它,因为这家公司并没有给我推介费。有人说了,库房管理员库克同志同样没给过你一个子,你还不是巴巴的讲那么多 Mac 的事儿?

这……Mac 君思来想去,只能在未来的某一天和他算这笔总帐了。

今天我准备给大家介绍一下云端的钥匙串:iCloud上 的 Keychain,是 Mac 上的原生应用。

OS X 在升级到10.9(Mavericks)的时候增加了一个 Keychain(钥匙串)的功能,可惜很多 Mac 用户升级时可能没有注意到这一点。

写到这我忍不住要插播一句,很多人的处事原则是,给不了解的东西固执的打上否定的烙印,而不是去试着了解。这种态度会让你错过很多风景。比如我一直以为《MacTalk·人生元编程》是给老爷们看的,没想到很多如花似玉的女读者一样捧在手中细细阅读,于是错过了很多人面桃花和MacTalk 交相辉映的美景。这个教训告诉我,永远不要低估女同胞的理解能力和分享能力,如果你还有这样的风景,请尽快发给我,不要犹豫,世界就在前面等你。

插播完毕!

那么什么是 iCloud Keychain 呢?这是一个云端的密码管理软件。既然记密码是一件让人头疼的事情,那么就让软件去记好了。iCloud Keychain 会为你记住用 Safari 访问过的网站的用户名和密码、你的信用卡信息和 Wi-Fi 网络信息。它将你的网站用户名和密码储存在经过你许可的 Mac 和 iOS 设备上,并使用可靠的 256-bit AES 技术进行加密保护,Apple 也无法读取,还能让它们在每部设备上保持最新状态和实时更新。它还会在你需要的时候自动生成密码,或自动填写密码相关的信息。

总之,有了 iCloud Keychain,你就不用再去记那些该死的密码了。那么,怎么去使用这个钥匙串呢?

1、在 Mac 上打开系统偏好设置-iCloud,让右侧的钥匙串选项处于选中状态。在其他 iOS 设备上同样操作。
2、没有第二了,正常的去登录你的网站和设置 Wi-Fi 密码就好了,系统会接管一切。

当你第一次注册某个网站并输入密码时,Keychain 会为你自动生成不同安全等级的密码,等你下次登录时系统根据账户名自动填充。

你可以采用 Keychain 自动生成的密码,因为这些密码你自己都记不住,更不用说透露给你的敌人了。

当你想知道这些密码的时候,也很容易,打开 Safari – 偏好设置 – 密码,输入你想知道的网站密码,比如 apple.com,系统就会检索到你在这个网站的所有账户和密码,密码以······的方式展现,点击左下角的「显示所选网站的密码」,系统会提示你输入 Mac 用户的密码,之后就可以看到该网站的密码了。

当然,如果你自己的密码已经是分级并成体系的,不用 Keychain 自动生成密码也没问题,反正系统会为你记住它的。

一次使用之后,无论是网站密码,Wi-Fi 密码,还是信用卡信息,系统都会记在心里,并贴心的在你的各个终端设备上同步。你不会找到这么好的密码管家了。再也不会因为忘记密码被妈妈打!

有关钥匙串的详细信息,大家可以参考以下网址:

http://support.apple.com/kb/HT5813?viewlocale=zh_CN

互联网安全,普通网民无可奈何之痛

security

自从有了互联网之后,互联网的安全问题就相伴而生。只要有程序员,就会有代码,只要有代码,就会有漏洞,然后就会有各种白帽子和黑客不断爆出各种漏洞,然后就是扫描、刷库、脱库、升级、修复,一系列组合拳打完收工,接下来等待的是下一次漏洞的降临。

细心的朋友可能已经发现了,那套组合拳是有讲究的,前三招永远在后两招之前,所以大家就不用担心自己的资料被泄露了,因为很可能已经泄露过多次了……一切都是最好的安排。

我个人虽然在软件行业很多年,但毕竟不是安全领域的,对这部分的技术可谓一知半解,或者四分之一解。比如我们为自己的软件产品加了功能权限、数据权限、代理权限、历史权限、密码策略、防 SQL 注入、防跨域攻击、SSL 数据加密等等,但这些措施在专业的黑客或白帽子眼中,基本上是形同虚设的。因为攻击往往来自应用系统的下层,比如操作系统漏洞,中间件漏洞、技术框架漏洞或协议漏洞等等。

所以,为了在江湖上立足,我特意结识了一些少年黑客(或白帽子),比如安全宝的道哥,知道创宇的余弦,还有不远万里没事就跑到中国进行义务教育的加拿大黑客厉哥等。当然,少年是和我相比,他们都是安全领域的行家里手,或老手,各个身怀绝技。并且,这些人估计昨晚都没睡觉,因为昨天互联网爆出了一个高危漏洞:OpenSSL Heartbleed 内存泄漏漏洞。他们几个估计都在挖的挖,堵的堵,补的补,忙的不亦乐乎,至于普通网民,咱们还是踏实睡觉,反正数据就在那里,不多不少。

我在文章开始提到过 SSL,这是互联网最常用的安全协议,作为互联网的用户,如果你访问的网址中有 https 的字样,那么说明这个网站采用了 SSL 协议,你和网站之间传输的数据都是加密的,即使其他人通过技术手段拦截了这些请求和响应,看到的也是密文。SSL 是互联网安全的基石之一,各大网银、支付、交易类网站大都采用了 SSL 协议。

OpenSSL 是一个开放源代码的、实现了 SSL 协议及相关加密技术的软件包,很多厂商都采用了这一技术实现安全数据传输。可以说,基于 OpenSSL 的 SSL 协议是互联网上安全通讯的工业标准,现在 OpenSSL 这个安全软件包本身爆出了内存漏洞,所以导致整个互联网的安全出现了问题。

安全靠锁,现在锁出事了,不是钥匙丢了,而是几乎所有人都可以打开这把锁(理论上)。

这个漏洞名为Heartbleed,译为心在滴血。想来也是,安全套件本身出了问题,无疑等于往心脏上插刀,不滴血才怪。该漏洞会随机泄漏采用了 OpenSSL 服务器的 64K 内存,内存中可能会含有程序代码、安全证书、HTTP原始请求、用户Cookie、邮件等隐私信息,黑客可以反复扫描获取数据进行比对,如果你有的是耐心和细心,那么扫描了足够多的数据之后,就有可能分析出某些倒霉用户的用户名和密码等安全信息。

关于这个漏洞的技术分析,请参考:http://drops.wooyun.org/papers/1381

更为麻烦的是,根据 OpenSSL 的版本记录,这个漏洞在2012年已经存在了,天知道那些黑客已经非法获取了多少用户信息。所以,很多搞安全的朋友告诉我,安全,有时候就是个笑话。

面对如此欣欣向荣的安全产业,做为一个普通网民,除了无可奈何之外,我们还能做些什么呢?其实我们还是可以做一些事情的,针对这个刚刚爆出来的漏洞,我们可以做的是:

1、在这两天不要登录信息敏感的网站,比如网银、支付宝、电商等网站。已经访问了的,如果你足够小心,那么就修改密码吧。虽然通过扫描随机获取到你的账户信息的可能性非常小,一旦命中你,对你来说就是100%。
2、等待各大厂商升级软件版本,修补漏洞。因为本身漏洞出在服务器端,我们帮不上什么忙。
3、如果软件厂商提醒你升级证书,修改密码,照做即可,注意不要被钓鱼,趁火打劫也是国人特色。

长远来看,我们还可以做的一些事情是:

1、不要使用来历不明的软件,尽可能不使用盗版软件。
2、浏览器不要安装乱七八糟的插件,如果安装了,你最好知道它是干嘛的。
3、密码不要过于简单,比如123456或你的生日等,大小写字符+数字,算是合格的密码。
4、不要一个密码走遍天下,你应该为不同类型的网站准备多套密码方案,分级使用。
5、如果可能,采用密码管理工具,比如1Password,Keychain 等。
6、首次使用路由器改掉初始的管理密码。
7、增强交易类网站的账户保护,比如绑定手机、网银证书、两步验证等。即使别人拿到了你的用户名和密码,也没法造成进一步的伤害。
……

最后一条,使用 Mac,会减少你很多不必要的麻烦。

江山如此多娇,令无数黑客竞折腰。到了互联网无处不在的今天,如果你对互联网安全领域的知识还处于一知半解的状态,那么最好赶紧去学习一下,无论是普通的安全常识还是专业技能,能多懂一点是一点,目前互联网安全领域的书籍和资料已经很多了。

另外,可能的话去认识一些安全圈里的朋友,像我一样,虽然同样是羊入虎口,但是由于你认识这只虎,那么效果可能会好一些……

积木盒子招聘信息

招聘公司:北京乐融多源信息技术有限公司 | 积木盒子 | 成长型(A轮)
公司地址:大望路金地中心A2501

积木盒子是一家总部位于北京的高科技网络金融服务公司,上线半年就已完成A轮千万美金融资。创始团队是来自于金融和互联网行业的资深人士,我们希望通过跨界的合作与知识的共享,通过互联网技术改变一些金融行业的固有形态。

积木盒子致力于为中国广大的个人和中小企业服务,解决他们最急迫的融资需求,同时通过互联网技术让更广大的投资者安全、高效、轻松地理财。积木盒子充分了解金融行业的本质,我们从第一天开始就构建了顶级的风控体系和团队,同时慎重选择了资质优良的第三方担保机构为100%的融资需求提供担保,保证投资者的利益得到充分保证。

招聘职位:

高级JAVA工程师

岗位职责

  1. 拥有5年以上的Java开发经验,熟悉常见Java开源框架,如Spring、Spring MVC、MyBatis、Hibernate、Spring Security、Spring Social、Apache Shiro等。
  2. 熟悉常见关系型数据库,如MySQL、PostgreSQL、Oracle等,能对复杂SQL进行性能优化。
  3. 非常熟悉Maven的使用,理解Maven的原理与使用技巧。熟悉常见Web服务器,如Tomcat、Jetty、Apache等。
  4. 熟练掌握Git,有在项目中使用Git的经历。
  5. 了解JVM性能调优、了解常见JVM垃圾收集算法、了解Java 7新特性、Java并发框架与库、了解Java内存模型。
  6. 熟悉HTTP协议,熟悉Restful Web Services原理。
  7. 熟悉Intellij IDEA等常见Java IDE。
  8. 熟悉常见NoSQL数据库,如Redis、MongoDB、CouchDB、Neo4j等。
  9. 熟悉常见设计模式。
  10. 熟悉规则引擎,如JBoss Drools等,有在项目中使用过规则引擎的经历。
  11. 拥有良好的表达能力与沟通能力。

加分项

  1. 熟悉Python、Ruby等语言
  2. 熟练掌握常见Linux shell命令。
  3. 喜欢在Mac/Linux下进行开发。
  4. 了解Apache Mina及Netty等常见网络应用框架。
  5. 有代码洁癖,看到代码中的坏味道有浑身不自在的感觉。
  6. 工作效率高,能够自我驱动。
  7. 极度厌恶各种繁琐的“流程”,不想被每天各种大大小小的“会议”折磨。
  8. 有金融行业IT背景。
  9. 喜欢Coding。

MySQL DBA

岗位描述

  1. 向开发人员提供技术支持,查询数据,协助优化SQL语句,部署测试环境;
  2. 负责系统数据库(MySQL)的运行维护及管理等工作;
  3. 负责数据库的日常管理:包括数据库的备份恢复、性能优化、日志分析、数据迁移、解决突发和疑难问题;
  4. 依据业务需求优化数据存储结构,负责系统数据库定期检查以及性能分析与调优;
  5. 制定和改进应急预案、策略和相关规范,提高服务运维质量;
  6. 与开发团队紧密配合,参与研发部门的数据库规划、设计、评审和优化数据库技术方案;
  7. 提供内部员工的数据库培训。

职位要求:

  1. 精通MySQL数据库的运行机制和体系架构;
  2. 精通MySQL数据库的管理,经验丰富;
  3. 同时熟悉MongoDB者优先;
  4. 熟练编写存储过程等各种脚本文件及编写E-R图;
  5. 熟悉Linux操作系统的原理,对Linux层面的数据库优化有较深的实践,能运用一门语言编写各种监控和运维脚本;
  6. 具有高度的责任心和敬业精神,注意力集中,学习和解决实际问题能力强;
  7. 具有良好的团队合作精神,能与团队成员协同工作;
  8. 具有良好的英文读写能力。

BI工程师

  1. 三年以上商业智能项目开发经验,五年以上,电商、互联网或金融从业经验,完成过数据仓库建设项目。
  2. 精通Pentaho套件。
  3. 熟悉数据库,能够编写和优化复杂SQL语句,能在大规模数据条件下,掌 控数据库性能。熟悉MySQL和MongoDB的优先。
  4. 熟悉Linux,能够完成工具软件的安装配置, 能够编写shell脚本。熟悉Ubuntu的优先。
  5. 掌握至少一种脚本语言,JS、Python、Perl、R优先。有Java、C++、C#等高级语言应用经验。
  6. 计算机基础知识扎实,对BI理论涉猎广泛。理解能力强,善于 学习,表达清晰。

测试开发工程师

  1. 熟悉面向对象设计方法,及其在Java的工程实践
  2. 熟悉关系型数据库,熟悉常见SQL优化、存储过程
  3. 熟悉客户端技术,最好对相关规范有深入了解,如HTML,JavaScript,Web Service,XML, CSS
  4. 熟悉开源测试工具和框架,比如JUnit,TestNG, Selenium
  5. 最好有持续集成的相关经验,如Jenkins
  6. 能在工作熟练使用至少一门脚本语言,如Python,Shell等
  7. 必须是Git使用者

福利:六险一金,带薪病假,带薪年假。
薪资:面谈,据说你多牛薪资就有多牛!

投递邮箱:career@jimubox.com

Go,随风而起

Go

最近琢磨着把我们的平台产品扔到 Docker 上试试,Docker 是运行在 Linux 上的一个轻量级的虚拟容器,简单来说就是 Docker 利用Linux 的 LXC(Linux Containers)和 CGroup 技术为你的应用构建了一个独立的、资源隔离的、轻量级的沙箱,你可以在里面自己动手,丰衣足食,无论怎么玩都不会对整个物理服务器产生影响。虽然 Docker 的政策是闭关锁国,但是你在开发环境和生产环境之间进行应用系统迁移和部署又十分方便。

和传统虚拟机不同的是,Docker 容器并不会包含一个完整的操作系统,而是通过服务器现有的基础设施对资源进行管控的。基本原则就是,你以为自己是自由的,民主的,按需分配的,但其实你的配额是定量的,不作死就不会死的,当然也不排除你表现好的话,系统会再分一些资源给你。

关于 Docker,如果大家有兴趣,我以后可以写个系列。今天主要想说说 Docker 的实现语言:Go。

深入学习一门技术或框架的原则就是去读源代码,Docker 是 PaaS 提供商 DotCloud 开源的容器引擎,任何人都可以到 Github 上下载它的源代码。我拿到 Docker 的源代码后发现,好吧,人家大部分功能都是 Go 语言实现的。Go 语言威名远播,我虽早有耳闻,但却从未真正用过,正好借这个机会好好学习一下。

顺便说一句,技术人员最苦逼的地方就是,当你想学 A 的时候,你发现的不得不先把 B 搞清楚,当你去搞 B 的时候,会牵扯出 C、D、E、F、G,七大姨八大姑和小舅子什么的都出来了,技术之间的依赖关系往往搞得你心烦意乱、心猿意马,最后你会忘记自己的初心是 A。

所以,对于我这种高龄程序员,学完 Go 之后去搞别的并忘掉 Docker 的情况,也是完全可能出现的。

目前编程语言排行榜前三位分别是 C、Java 和 Objective-C,这三门编程语言的 Ratings 都超过了10%,风头正劲。C 不用说了,Unix 和 Linux 都是这货写的,系统级编程语言,无可替代。OC 虽老,却属新贵,随着 iOS 大红大紫。唯有 Java,当年如日中天,如今却显老态,常常为人诟病。其实从语言的发展潜力来看,Java 还远远没有进入老年时代,最多是个中年大叔,语法糖虽弱,但整个 Java 平台博大精深,衍生语言 Scala 和 Groovy 生命力正盛。不过,由于 Java 平易近人的工业语言特点,常常遭到很多半瓶子醋的嘲笑,其实大部分是自嘲,能骂到点子上的少之又少。为什么骂 C 和Objective-C的少呢?因为能把 C 整明白的人大都知道深浅,至于 OC,大伙正忙着学呢,哪有空骂?

与其他语言不同,Go 生于名门望族 Google,一出生就是富二代。2009年11月 Google 正式对外发布 Go 1.0版本,从此宣告了一门新语言的诞生。Google 首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去10多年间软件开发的难度令人沮丧。听了老罗这句话,台下很多程序员眼眶都湿润了。

Go 被誉为互联网时代的 C 语言,虽然目前声望还没法和那三位老大哥相比,但是程序员和极客们都对其寄予厚望。当然 Go 也没让大家失望,这几年发展迅猛,国内外很多厂家已经开始把 Go 语言用于生产环境,很多开源项目也开始用 Go 实现(比如 Docker)。最重要的一点是,据说 Go 的最佳开发平台是 OS X,其次是 Linux,最后是 Windows。这一点没什么可说的,因为我很早就说过,Mac 才是程序员的开发利器,Go 只是又一次印证了这一点而已。

经过几个晚上的学习和实践,我觉得我会喜欢上这门语言,令人印象深刻的语言特性有这么几个:

  1. Go 是一门系统级的编程语言,理论上 C 和 C++能干的事,Go 也干得出来,而且实现起来更加简单,如果 Go 愿意,也可以写个操作系统出来。
  2. 支持 GC(垃圾收集),无论是 GC 还是引用计数,这部分的功能应该是现代编程语言必备的,我们最好相信编译器,而不是人。
  3. 全新的静态类型语言,犯错的几率大大减少,同时具备动态语言的特性,无论是从 C、Java 或 Python 转过来都会感觉很舒服。
  4. 针对并发、多核和大规模集群的语言,goroutine的设计相当有趣,这部分需要好好理解一下。
  5. 更为丰富的内置数据类型,相对其他语言,增加了 map(字典)和 slice(数组切片),同时从语法层面进行了支持。
  6. 函数的多重返回值,这一点是程序员们千呼万唤的功能,这次 Go 有了。
  7. 基于关键字 defer、panic 和 recover 的异常处理机制,处理过程中使用了多重返回值的语法糖,defer 实现了类似 Java 里的 finally 功能,这部分的设计非常新颖。
  8. 闭包,现代语言必备
  9. 无继承的接口方式,方法的定义和类型的定义可以在完全不同的地方进行,还可以为现有类型动态添加新的方法,这一点有点像 Objective-C 中的 Category ……

一般来说,一种语言从诞生到广泛关注和应用,至少需要十年光景,而 Go 只用了几年时间就走到了这一步,着实令人惊叹。Go 诞生于网络、多核、高并发和大集群的时代,这是 Go 的机会,也可能是你我的机会。

Go,可以说是一门随风而起的语言,了解了 Go 之后,我们就知道,很多风口的东西,不一定是猪!

如果你也想试试这门语言,那么可以点击原文访问【Go 指南】,在线学习。

http://go-tour-zh.appspot.com

读者有三种,一种普通的,一种文艺的,剩下极少数是 XX 的

做为一个中年大叔,我已经很少上豆瓣了,一来不适应豆瓣的小清新和亚文化,二来是写微信平台后也没那么多时间。不过近期不断有读者反馈,说豆瓣有一篇书评牛头不对马嘴,是针对您的纸版《MacTalk·人生元编程》的。我以为是什么好玩的书评,结果费劲扒拉爬上豆瓣一看,尼玛,这哪有牛头和马嘴啊,分明就不是东西。所以有必要写点文字,以免读者被一篇垃圾文章误导。

《MacTalk·人生元编程》最早成书是电子简版,分别在多看、豆瓣和 Kindle 市场上线,多看的评价和销量最好,Kindle 次之,豆瓣最差,不过也有160多人评价,评分8.2( http://read.douban.com/ebook/1531222/ )。豆瓣阅读的很多用户给了五星好评,也有给一星差评的,比如这个:

当做博文还可以接受,出书就没什么价值了。 观点没有深度,文字水准稀松,更没有特别突出迷人的精神气质。整本书给人一种散杂无序的感受,简而言之:毫无亮点,质量平平。

这种评价就很好,仁者见仁淫者见淫,有价值。但是我也就知道了,豆瓣用户的小清新风格和价值观和咱不是一路货色,所以也就很少在豆瓣写东西,也很少关注。

但是这一篇( http://book.douban.com/review/6577716/ )就有点意思了,书评的标题叫做《程序员有两种,很俗的和更俗的》。看了标题我就气不打一处来,特么的没有各类程序员研发和构建豆瓣和各种社区,你们这帮喷子去哪挥洒自己的青春去呢?如果这种无脑和人身攻击类型的评论放在微博或微信,哥早就小手一抖轻轻拉黑了,在这种事情上我从来都不是民主的。但是,豆瓣是一个开放的,自由的,平等的,宽容的,维护任何人用语言攻击别人权利的地方,那我就只能代表一部分程序员对丫说,去你爸爸的哥哥。

关于「程序员」,我们生在了一个技术改变世界的时代,而程序员可能正在做着能够改变世界的技术,这是无上的荣耀和机遇。但是程序员这么拽,我们不说其他人会知道吗?所以总有一些程序员会出来写作、跳舞、歌唱、作画、奔跑、骑行,如果你以为程序员还是天天埋头在小黑屋编写无休止的代码而不出家门一步,那你离这个世界已经很远了,赶紧回火星去吧。

王小波也是程序员出身,写出了传世的时代三部曲,这事您不知道吧?

关于「高端产品」,我在书中只是讲了苹果和 Mac 的部分历史和故事,包括 Mac 的使用和 各种 Tips,其他大部分都是技术和人文类文章,所以,如果您觉得 Apple I、Apple II 和 Macintosh是高端文艺产品的话,我只能说,前二者已经退休多年,而第三者,现在满大街都是!我们既不觉得 Mac 高端,也不觉得 Mac 文艺,也就是个好用的工具而已,如果您觉得,那只是因为你的海拔太低了。至于世界观,我觉得就您目前的状态,是不大可能上升到那个高度去谈问题了,三观已毁,何谈见解和观点?

关于「果粉」,这个词我还是很反感的,所以全书中从未出现过。粉丝本身就是不理智的,而程序员最要命的就是太理智了,所以很少和「粉」拉上关系,关于苹果的产品,我们只是觉得好用而已,而把自己觉得好的东西介绍给大家,至少不是坏事。所以,关于果粉这件事,我只能说,你才果粉,你们全家都果粉!

写到这我要对这位 XX 读者说一句:祝您一辈子在豆瓣写书评,别客气,恕不远送!


最后我再正式的介绍一下这本书,内容取自书的序言:

这不是一本传统意义的 Mac 用户手册或技术书籍,没啥技术深度,思想也不深刻,只是一个70后程序员,在微信平台讲述技术与人文的故事,故事起于 Mac 而不止 Mac,时间线从七十年代贯穿至今。书中写了 Mac,说了苹果,聊了技术,侃了人生元编程,汇聚了我个人的经历和悲喜。您读完了,有收获就是好事,不用想的太多。如果书里在讲 Mac,那就是苹果公司的 Mac;如果在说Shell,那就是操作系统的Shell,如果在聊程序员,那就是你我身边的程序员。我尽量做到文字简单、内容有趣,因为简单和有趣也是一种力量,希望您读完这本书以后,也能拥有这种力量。

纸书出版后,我想看到的各种效果,都已经看到了,至于书的销量,顺其自然就好,兄弟我吃饭不靠这个。

利益相关:《MacTalk·人生元编程》作者。

豆瓣书评的原文:http://book.douban.com/review/6596765/