MacTalk By 池建强

Featured

这里是微信公众帐号『MacTalk』的WEB站点。我会精选一些微信文章放到这个网站上。

MacTalk 开通于2012年末,内容起于 Mac 而不止 Mac,沿用了一贯的科技与人文相结合的风格,文风有趣,又增加了一点力量。其中有我对生活的思考,对边界的探寻,有我身边的人和他们的故事,其中的一些文字还记录了这个时代的某个剪影,或某段情感。

我自己充分享受着写作与编程的乐趣,输出的文字对我意义非凡,它们能够帮助我探索、梳理和记录生活。

关注『MacTalk』请微信搜索『池建强』或是用微信扫描右边的二维码。

我的个人作品:《MacTalk·人生元编程》《MacTalk·跨越边界

文字版权属于池建强所有,付费转载,相关媒体转载请与新浪微博 @池建强 联系

12

AgentNEO 架构简介 – Docker,Rancher 和 Kubernetes

推荐一篇文章和服务,基于 Docker、Rancher 和 Kubernetes 构建的技术架构。

前言

我和朋友常常谈起,对于做技术的我们,这是个支离破碎的世界,大到被无形的墙分割的互联网,小到林林总总残缺的工具,他们总是很难以完整的面貌真实的世界。某一天,我们也和其他同样背负着「程序员」之名的人一样,决定以「精卫填海」的精神去「修复」眼中的世界,而这一切,开始于一架优雅和精致的梯子……

简介

AgentNEO 生产环境是完全 Docker 化的,所有的服务都运行在 Docker 中。这些服务包括我们的 Web 主站,Shadowsocks 节点,还有其他很多基础服务,比如 HA Kafka、MySQL、Redis、各个服务的 Healthcheck、CI/CD 所需要的 Drone、Gitlab runner 等等。

到目前为止,AgentNEO Shadowsocks 节点,包括 VPS 和独立服务器,一共有 30 多个,分布在香港、日本、韩国、美国等地,同时和这些节点所对应的 Docker 容器数量接近 300 个。那么我们是如何做到将不同的服务启动到合适的宿主机上,并且保证通信安全和通信质量的呢?答案是 Rancher!

全新 Rancher 2.0 刚刚发布,2.0 版本的 Rancher 全面拥抱了 Kubernetes,用户可以非常方便地创建高可用的 Kubernetes 集群。

Rancher

Rancher 是一个 Docker 集群管理工具,提供了非常友好的 WebUI 去帮助用户管理容器。它通过虚拟网络加服务编排技术,实现在合适的服务中运行我们想要的容器。

集群容器编排

在 Rancher 中,有一个概念「服务」,它指的是拥有相同参数的一组容器。因此我们的 Shadowsocks 应用就可以抽象成为一个 Rancher 的「服务」。

每个服务都有自己的很多属性,其中最关键的,则是「调度规则」。

enter image description here

上图是我们一组 Shadowsocks 服务的调度规则。它的意思是,在每一台同时拥有 zone=hk-azure 和 role=ss 标签的主机上,都启动一个 Shadowsocks 进程。这样一来,我们将需要运行 Shadowsocks 服务的节点(此处为香港 Azure 数据中心的一台 VPS)打上对应的标签即可,剩下的事情 Rancher 会自动帮我们完成。更棒的是,如果以后我们需要添加一台 Shadowsocks 服务器,只用将对应标签打到新加入的节点里即可自动完成所有部署。

enter image description here

服务器标签管理,非常简单

除此之外,Rancher 还提供了很酷的容器链接图,用户可以很直观的看到目前相关容器的相互依赖。

enter image description here

AgentNEO 官网链接图,可以很清楚的看到前端负载均衡器将请求分发到两个 Rails 应用中

自研的意义

熟悉的朋友可能会知道,AgentNEO 官网没有使用 ss-panel 这个开源项目,而是基于 Ruby on Rails 自己开发的。其实除了官网,我们的 Shadowsocks 也是自己实现的。

为什么要造轮子?

首先,如果只是用开源软件简单的搭一个平台,就如同玩已经组装好的乐高,是一件特别没有意思的事,而且对于开源的重度依赖,也会在业务逻辑上遇到比较大的障碍。然后,作为一群还算有梦想程序员,还是想做一些有用的事情,来推动整个 Shadowsocks 社区的建设,而不是仅仅汲取开源社区的成果。

所以,我们在一开始做 AgentNEO 的时候,就投入了很大的研发精力,遵循 Shadowsocks 协议实现自己的 Shadowsocks,包括 AgentNEO 官网的开发,无不亲力而为。这一切都是为了更好的进行技术沉淀,将来回馈开源社区。

DevOps

关于 DevOps,维基百科的介绍如下:

DevOps(Development 和 Operations 的组合词)是一种重视「软件开发人员(Dev)」和「IT运维技术人员(Ops)」之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

在 AgentNEO,我们始终坚持的是,尽量将所有步骤都放入自动化流程中,避免人为操作。部署时只用做决策,而不用执行(是否上线是决策,而部署步骤是执行)。大大减少「人」带来的风险。得益于近几年以 Docker 为首容器技术的兴起,整个生态圈极为活跃,我们的自动化环节都有非常丰富的资源和技术支持。

在代码管理方面,我们使用 Gitlab 作为管理平台。拿官网举例,当有新的版本标签(例如 v1.4.5)被 push 到远端后,会触发自动测试以及自动构建(构建 Docker 镜像)的任务,成功后,会进入到等待上线的阶段,这个时候,运维只需要手动点击 Gitlab 中的部署按钮即可完成上线(只决策,不执行)。如果测试或者构建失败,则会自动发送邮件通知相关人员进行处理。

enter image description here

AgentNEO 官网 CI/CD Pipeline,点击 Deploy 流程中的播放按钮即可完成部署(使用 Gitlab runner 调用了 Rancher 的 API 实现)

片尾曲

做 AgentNEO 的动机,最开始是让自己有一个稳定、快速的网络。但是作为一个有梦想的程序员来说,既然做了,那么就要尽可能的在各个环节将自己平时的积累用起来,形成自己的一套最佳实践。这才是有意思的事情。


推荐他们的服务,新一代的「网络加速服务」AgentNEO:AgentNEO 网络服务

21

如何「收集」知识

MacTalk-L1000537 7:21:2018

这些年杂七杂八写了很多东西,总会有读者问,你是从哪获取到这些知识和信息的?写了六年还不够你得瑟的,怎么没完没了了?早期写东西是因为之前的十几年积累了很多素材和想法,输出到一定程度,就需要重新去收集知识和素材、学习、进化,然后再次输出。这个阶段并不是串行的,而是并行的。大家会看到,很多习惯写作和分享的人,一般都是持续输出,生命力长的作家,作品也是一本接着一本,不敢长时间的中断。停下来容易,但是重新上路,就需要更大的驱动力才行。这也是很多人无法坚持的原因。

很多人会说,知识并不重要,重要的是对知识的理解和运用,但前提是你得有这个知识库才行,如何管理自己的知识库呢?估计每个人都有自己的办法。我也有,办法虽然很土,对我来说还有些效果,分享给大家。

收集知识对我来说大概有两个阶段,开始的时候目的性极强,比如想学习 Linux,买的书和上网找的资料都是 Linux 相关的,然后进行整理和消化吸收。后来功利性没这么强了,无论是技术、文学、传记、影像,看着好就会把一些片段或入口保存自己的知识库里。当然,任何时候都有需要针对性的知识的时候,比如写推荐算法的文章,还是得去找到特定领域的资料以确保自己写的内容是相对严谨的。

读书

构建知识库就像建一座摩天大楼,开始的时候要把根基打好,结实、端正、坚韧,有人过来踹一脚,能做到不动如山。知识是金字塔,地盘越坚实,越容易构建上层建筑。如何打好基础呢,当然是读书喽,这个阶段如果东一榔头西一棒槌去追击一些知识碎片,效果反而很糟。

人们常说,买书如山倒,读书如抽丝,大意就是买的容易读来难,最终买了个收藏知识的幻觉。我对此倒是不以为然,买书肯定是好事不是坏事,但你别想着买了的书能全部读完,凡事都有转化率,买了,就有可能读,不买,那可能真的永远不会读。况且有些书是用来收藏的,有些是用来当参考手册的,有很少一部分是买了需要立刻读完的。

如何阅读一本书呢?这是个可以写本书的话题,简单来说,要对阅读进行层次划分,同一本书,因为性质和场景不同,我们可以简读,速读,精读,甚至可以用学者的方式阅读。什么是学者的方式?就是知识拆解和重新组合,安姐在她的极客时间专栏里谈到了编程语言的学习,别人去学怎么使用,她想的是语言是怎么实现的,类型系统是什么,计算能力的边界在哪。学者方式的阅读也是类似。知其然,而知其所以然。

有的人遇到看不懂的图书和文章就会觉得作者写的烂,遇到浅显解惑的内容又会认为作者肤浅,却从来不考虑自己的需求场景、阅读方式和理解问题。有的人希望快速阅读一本书,有的人希望找到好书,有的人则希望能够通读并拆解一本书。读书时要找到自己的定位。

好记性不如烂笔头

光读书当然是不够的,想学以致用,还需要用自己的方式建立人和知识的连接。我的方式就是写下来。无论是读纸书还是电子书,我都喜欢在读的过程中里写写画画。读完之后,如有必要,就会把纸书里写的文字和划线部分,电子书里的摘要和评论,全部记录下来,甚至写成一篇文章。书里有些内容特别好的,我会把原文在电脑上重新敲一边,以便随时阅读。

柯南在刻画福尔摩斯这个人物的时候,创造了记忆宫殿这个类比,其实普通人也是类似的记忆模式,写下来的过程就相当于你把某些知识放到了记忆宫殿的阁楼,阁楼多了,也就形成了宫殿和记忆图谱,用的时候自然可以按图索翼,追根溯源,最终把这些知识连接起来。

构建知识库,就像酿酒,无论原材料多好,挂着霜的原产地葡萄也好,深山老林的矿泉水也罢,最终出来的得是酒,而不是汽水。知识的发酵也是如此。

至于这些知识放哪,如何分门别类的管理,每个人处理方式都不一样。我一般用 Ulysses 写比较正式的、可能发布的东西,用 Evernote 记录碎片化的、非正式的信息。这方面很多人比我做的更好更系统,后面再说。

稍后读,而不是稍后再也不读

除了系统性的读书,我们还会从现在的付费专栏、微信公众号的文章,以前的 RSS 和博客上汲取知识,这些相对碎一点的内容,基本上都会提供收藏或者稍后读功能。大部分人看着好点击了收藏或者稍后读之后,这些知识就消失了,因为大部分人稍后也不读……直到有一天你突然发现自己有了一个一眼看不到尽头的阅读列表和堆积成山的 PDF,然后开始梦想到一个人迹罕至的森林小木屋里苦读一年以期迎头赶上 —— 对了,要是每天清晨沿着林中小溪散步时会有人带来食物并带走垃圾就更好了。围笑。

我自己把稍后读的内容分成两类,一种是当做参考消息的,收藏起来,将来能搜索到就行。另一种则是真正希望稍后读的。对于第二种,我会每天拿出固定的半小时把这些文章找出来过一遍,有价值的内容写上价值所在,做个标记放入我的知识库,读完了了的,干脆删除了事,防止信息干扰。

稍后读的工具挺多的,比如 Instapaper、Pocket、Evernote、Send to Kindle 等等,选择适合自己的就好。

因为资质平平,我在构建知识库的过程,差不多遵循的原则是日拱一卒、不期速成。现在看来,虽然学的慢,但也不是学不会,于是有了这些年的输出。

19

《程序员练级攻略》推荐必读书籍清单(上)

左耳朵耗子在极客时间开了一个专栏,写了快一年了,文章中涉及了很多计算机经典图书。我们的运营妹子整理了一部分出来,是为(上),我看了一下,大部分自己也读过,确实是好书。一并推荐给大家。

必读书籍清单链接地址:https://time.geekbang.org/column/article/10793

关于读书,我为微信读书写了个寄语,写完发现,字写得不如原来好看了,很显然是写得少的原因。以前上学时很强调练字,字写得难看了会不好意思。现在都无纸化办公了,面试很多九零后的时候,发现简历上的字写得像小学生。

这时候,一般字挺拔的,我就录取了。

微信读书寄语

14

台湾之行,顺便说个事

这个博客很久没更新了,因为写作重点基本上是在微信平台上。不过微信始终是个第三方平台,它的改变往往是不可预期的。所以我最近改变了主意,准备重新复活这个随想录,内容会比较自由一些。

不知道这个 Blog 还有多少读者,不过我只管更新就好了。

上个月极客邦 TGO 鲲鹏会台北分会成立,我去了一趟台湾。以前看了很多台湾的书和电影,真正踏上这个岛的土地还是第一次,不过台北这次给我留下的印象,几乎和我想象中完全一致。

天空高远,多云,空气干净,湿润,拧一把感觉能出水。街里热的像一团火,屋里冷的像一块冰,酒店和会场估计只有十几度,我睡觉是要关掉空调的。台北的建筑远远比不上北京的现代化,但是韵味厚重,色彩不张扬,充满底蕴,无论是国父纪念馆,101高塔还是夜市小吃街,都有些历史的味道弥漫开来。去故宫博物院和士林官邸就不用说了,仿佛历经当年的历史瞬间。

很多人说台湾在移动互联网时代是缺失的,除了硬件过于赚钱之外,和台湾的地域和环境都有关系。在台北走几步路就可以找到好吃的,出租车多得像大陆的自行车,招手即走,所以很少人点外卖,也不会用滴滴之类的软件叫车。关于这个话题,专门有个圆桌论坛讨论,不是本文重点。

台湾至今仍保持了华人传统的温良恭俭让,开车走路非常规矩,街道干净,并且少有垃圾桶。每个人都彬彬有礼,台语温温软软,细声细气,像唱歌一样,非常好听,不过他们有时候会夹带很多英文混着说,语速又快,听不清楚的时候,我就当听歌了。

台北的妹子穿着不那么张扬,干净,雅致,不失青春活力,总让我想起齐肩长发、白色领口的姑娘迎着海风向前的场景。

台湾的男生大概就是这个样子,大都挂着阳光一样的笑容,看起来节奏舒缓,没有那么多急躁和匆忙,相比大陆中青年眼神中的欲望,我们只能说,大陆人民仍在野蛮生长。

比较有趣的是,台湾开出租车的师傅,也有对标北京出租车司机的,北京师傅喜欢评判海里的事,台北师傅则爱说老蒋小蒋并品评历任总统,说的抑扬顿挫,有板有眼,我一边捧哏一边听相声,不亦悦乎。和很多台湾人接触,所有人都觉得大陆和台湾血浓于水,是兄弟,有点矛盾没啥,骨子里都是中国人啊。

台湾,值得去很多次的地方。放一些我拍摄的照片。

30

我们为程序员做了一款「极客时间」

2017年7月31日,我们发布了一款给程序员使用的搜索引擎「极客搜索」,深得技术人员的喜爱。两个多月过去了,2017年10月17日,我们团队为极客、程序员、编程爱好者和热爱互联网的人们发布了一款新产品,产品的名字叫做「极客时间」。

在近二十年的职业生涯里我写了大量的代码,做过很多项目和产品,但这一个应该是我人生中最重要的。有人会说,你未来可能做出更好的东西。即便如此,极客时间也是最重要的之一。我想,在未来可以预见的时间内,互联网的技术人会记住这个名字:极客时间。

MacTalk 的极客时间

人的生活状态大致有两种,一种是防守状态,你处于某一个位置上,别人给你挑战,给你任务。给你一件,你想办法完成了,再给一件,又完成了。你会有成就感,但主动权在别人手里。我在洪恩、用友、锤子虽然做了很多事情,但从根本上没有脱离这种状态。另外一种是进攻态,确定方向找到目标提刀上马仗剑走天涯。就像崔健在蓝色骨头中吟唱的:

我要干我最喜欢干的,不管挣钱多少
只要我有笔 谁都拦不住我

极客时间就是在这种状态下生长出来的产品。

今年3月初我和极客邦科技 CEO 霍泰稳规划这个产品的时候,有的朋友好心告诉我,这个领域太垂直了,用户群少,你能搞出什么花样呢?其实这个领域的人群并不算少。

参考 GitHub 官方数据及年度报告、IDC 报告和中国统计年鉴,预测目前国内 IT 技术从业者应该在700万到1000万左右。假设年增长率为30%,同时考虑编程教育进一步普及 —— 人人都需要懂一点编程的时代即将来临 —— 2022年这一人群将达到3000万人,甚至多得多。

另外,这个领域中最有价值的就是技术和掌握了这些技术的人群。每个互联网大佬都认为,未来最重要的就三件事:技术、技术和技术。驱动商业世界和人类社会前行永远是最底层和最先进的技术,技术的价值就蕴藏在这个领域的人群中。为他们提供产品和服务,当然是价值最大化的事情。

为什么叫「极客时间」,因为这个时代需要极客精神。极客在这个时代不再代言怪异、不合群和木讷,而是好奇心、创新和生产力的代表。早在20年前,苹果的广告 Think Different 已经做了绝妙的诠释:

他们我行我素,桀骜不驯,惹是生非,就像方孔中的圆钉一样
他们用不同的方式看待世界
他们既不墨守成规,也不安于现状
你尽可以支持他们,反对他们,赞美或诋毁他们
但是唯独不能忽视他们
因为他们改变了世界
他们让人类向前跨越了一大步
他们是别人眼里的疯子
却是我们眼中的天才

我个人从技术和技术社区获益良多,我在工作中所获得的一切成果,都得益于此。乔布斯说过,做出一件好的产品,也许是向这个世界表达感恩的最深刻的方式。「你没见过那些人,没跟他们握过手,你没听过他们的故事,也没跟他们讲过自己的经历,但就是通过你倾注心血做出的这样一件东西,你传达给了他们一些东西」。

极客时间就是这样一款产品。三月份开始规划产品和组建团队,四月份开启了从零开始打造一款产品的历程,整个过程艰苦并充满快乐。我们构建了统一的账户系统、资源系统、支付和交易系统、直播系统,发布了极客搜索,并基于这些基础服务开始构建移动应用。我常常在密密麻麻的程序员、产品经理和设计师(人不多地太小)之间走来走去,看着他们敲打键盘写下一行行的代码,为某个交互和设计细节争论的面红耳赤,确保每个产品的功能都灌注了团队成员的情感。我感受到了前端主程序涛哥的那句话:一切尽在掌握。当然,后来由于进度紧张工作量大,技术和业务复杂度增加,涛哥把这句话修正为「快掌握不住了」。我并没有过多的担心,因为这句话的核心逻辑是,一切依然在掌握中。

半年之后,我们完成并发布了极客邦历史上第一款的移动互联网产品:极客时间1.0。

极客时间产品视频

极客时间可以说是一个知识产品的容器,容器中的每个产品都是贴着场景长出来的。

极客新闻:每天早上八点,极客时间的编辑们会推送四条图文加音频的极客新闻,工程师们可以在早晨上班的路上听每日新鲜的技术新闻。

热点专题:每月四个热点专题分析,编程、架构、微信团队解密、京东618、天猫双11……前沿的专题和独特的视角,都可以在这里看到。

二叉树:每周你还可以看到属于技术人自己的视频和直播节目。与一线大咖面对面,不仅「听」他说什么,更要「看」他怎么做。

专栏则是极客时间最核心的功能,我们邀请了业界顶级专家和我们的内容编辑,耗费大量的时间,基于图文、音频、小视频白板、直播等方式构建轻量级多样化的原创 IT 知识服务产品,帮助用户提升技能,拓展知识边界,让专栏作者和读者建立紧密的连接。读书是一种学习,阅读别人则是更高级的学习形式。

每个专栏都是高质量的、原创的、系统化的知识,它们新鲜,充满活力,并且深深的打上了创作者的烙印,就像清泉流水。流水不争,度渊而生。

首批上线的全年付费专栏有三个,一年365天,每天10分钟,三位顶级技术专家伴你每日精进。

1、陈皓(左耳朵耗子,骨灰级程序员):《左耳听风》,洞悉技术本质,享受科技的乐趣。
2、洪亮劼博士(数据科学家):《AI 技术内参》,系统剖析人工智能核心技术,找到 AI 领域的最佳学习路径。
3、徐飞博士(深度思考者):《大航海时代》,突破技术思维,用商业视角看世界,讲述100家互联网企业的兴衰史。

订阅专栏:199元/年 免费试读所有专栏的试读文章

未来,我们会在极客时间这个平台上创造出更多全新的 IT 知识产品,让极客时间像 InfoQ、QCon 那样,为更多的互联网用户、编程爱好者、专业的技术人员和极客提供不同类型的知识服务,利用大时代里的碎片时间持续学习,每日精进。


感谢的分界线:

极客时间在研发的过程中得到了外部团队的诸多帮助,比如淘宝的 Weex 团队,在产品上线前一天的凌晨还与我们一起远程调试解决问题。在与微信对接的时候,我甚至惊动了张小龙他老人家帮助协调资源。无码科技的二爷也常常给我们提出产品建议,还有其他公司的同仁,在此一并感谢,排名不分先后:

阿里 Weex 项目组
无码科技
微信分享和公众号相关的研发同学
阿里云和云盾的技术支持同学
OpenResty 的研发同学
友盟的研发同学

人生最有价值的时刻,不是最后的功成名就,而是对未来充满期待与不安之时。经年以后,相信极客时间会不辜负这些技术人的支持和厚爱。

08

第一代 Mac 电脑是在怎样的情况下开发出来的?

因为我的公众号叫做 MacTalk,所以吸引了大量使用 Mac 的开发者和其他互联网人群。以前我写过很多 Mac 和 macOS 的文章,基本上都是从用户角度出发,但少有涉及第一代 Macintosh 开发的故事。今天给大家推荐一本书《硅谷革命:成就苹果公司的非凡往事》彩装版。

效果图0

2010年我曾经读过这本书的旧版《苹果往事:开发麦金托什的非凡岁月》,第一代 Macintosh 开发者安迪·赫茨菲尔德主笔,台湾作者翻译,黑白印刷。可惜这本书很快就绝版了,时隔七年,我所在的极客邦团队主导并重启了这本书,这对我个人意义非凡。打开重新设计的书封,那些或者欢快,或者悲伤的文字,把我重新拉回了上个世纪八十年代的辉煌岁月……

现在我们知道,苹果公司所有电脑产品的命名都和 Mac 相关,比如 Macbook,MacBook Pro,MacBook air,iMac,Mac Pro 等等,但是第一代苹果电脑却和 Mac 什么关系都没有。开天辟地的是Apple I,居功至伟的是 Apple II,这两个伟大的产品基本上是沃兹单枪匹马做出来的,也是苹果公司上市的基石。这本书描述的就是 Apple II 之后的故事,作者是安迪·赫茨菲尔德(Andy Hertzfeld ),1979 年加入苹果,1981 年加入了 Macintosh 团队,是 Macintosh 系统软件的核心设计师之一。

我们把时光的指针拨回到 1979 年,那时苹果公司有四款产品在研发,AppleII,AppleIII,Lisa 和这本书的主角 —— Macintosh。其时 AppleII 一直充满活力,在退出历史舞台之前都是苹果公司的支柱产品,Apple III 和 乔布斯主导的 Lisa 就比较惨了,命运多舛,公司策略摇摆不定,一会万般宠爱,一会无人问津,这种境遇很难做出好的产品,结果 AppleIII 只生产了 9 万台,Lisa 更可怜,1983 年推出,1986 年彻底终止,余货被埋在犹他州的垃圾堆里。这时候 Mac 的原型正在孕育,这是个微不足道的项目,项目代号叫做「安妮」,项目的负责人是杰夫·拉斯金。

杰夫·拉斯金是苹果的第 31 位员工,同样是一位技术牛人。苹果公司的开创者们似乎都脱不开人文与技术的情怀,杰夫的专业是计算机科学,但是在大学里教过音乐和视觉艺术,在厌倦教书之后,就租了一只热气球,飞到校长家上空大声喊道,我辞职啦。

1979 年,杰夫说服了当时苹果公司的管理者迈克·马库拉,成立了一个小规模的项目组用来研发廉价的、同时具备图形界面和命令行的电脑,这个项目就是 Macintosh。1979 到 1980 年,杰夫都在撰写「Book of Macintosh」,描述这款产品的诱人愿景。他在书中写到,计算机的用户应该是普通人,不仅仅是黑客,除了神秘的命令行,还得有图形界面。如果个人电脑能够真正面向个人,那么任何一个家庭都该拥有一台。

Macintosh 项目初期并不受公司重视,动不动就要被解散,终于有一天,这个项目被乔布斯盯上了。在 Lisa 项目折戟沉沙之后,乔布斯迫切需要一款产品来证明自己,这款产品就是 Macintosh。从此,一段荡气回肠的技术革命拉开了序幕,一个新的时代开始了!

本书的作者安迪·赫茨菲尔德不仅是一位卓越的系统工程师,而且笔触细腻幽默,他用细节和写实的笔法还原了那段激情燃烧的岁月。

Andy

安迪是怎么加入 Macintosh 项目呢?有一天乔布斯走进安迪的办公室,劈头就问:「你行吗?Macintosh 团队只要真正的能人,我不确定你是不是能行」。安迪直视乔布斯的眼睛「我能行」。几个小时后乔布斯跑回他的办公室告诉安迪,你已经正式成为 Macintosh 团队的一员了。安迪很开心说,我交接下工作就可以去新团队报道了。结果乔布斯拔掉安迪电脑的电源线,抱起主机和显示器对安迪说,不要再浪费时间了,我这就带你去新工位。

关于乔布斯的现实扭曲立场,书中也有非常有趣细致的描写。比如:

他坚持要我们在 1982 年初上市,而且不接受任何异议。如果有什么词可以形容这种情况,那一定是来自《星球迷航》的「现实扭曲力场」。乔布斯就具备了这种能力。只要他在场,现实是可以被改变的。他几乎可以说服任何人,让他们接受他的想法。等他离开,这种力场就会逐渐消失。

如果他跟你说一件事情很糟或很棒,到了第二天,他可能就不这么认为了。你对他所说的话要有选择性地听。另外,他处理新想法的方式真的很奇怪。如果你告诉他一个新想法,他一般会告诉你说,这个想法很愚蠢。不过,如果他真的很喜欢这个想法,那么一周之后,他会跑过来跟你提出这个想法,就好像是他想出来的一样。

乔布斯超凡的表达能力、坚不可摧的意志和为达成目标标扭曲一切的渴望形成了他的现实扭曲力场。如果一种方式无法说服你,他就会巧妙地使用另一种方式。他虽然让项目组成员间歇性崩溃,但同样在激励着他们奋力前行,实现了很多似乎不可能完成的天才技术创意。

最初团队成员还尝试着破解这种力场,但「最终还是放弃了,我们只能把它当成是自然界的一种神奇力量」。

Macintosh

开发 Macintosh 的过程复杂而曲折,其中有欢笑,有泪水,有教训,有背叛,但是 Macintosh 精神一直贯穿其中。安迪在书的最后写道:

Macintosh 的驱动力主要来自艺术价值,它无视外部竞争,只要开发出非凡卓越的产品。我们希望 Macintosh 成为技术及艺术的双重杰作,在每个可以想象的环节都抵达艺术的巅峰。在我们这里,没有微不足道的细节,「还不错」并不表示就够了,我们必须做到最好。

读完全书你会发现,Macintosh 团队的迫切感、野心、追求卓越的热忱、艺术家的气质和幽默感同时注入了这款产品中,这种精神穿透了三十多年的时光迷雾,依然激励着我们继续前行。

这本书值得所有热爱科技产品的互联网人阅读。

点击 硅谷革命,苹果往事,畅读 Macintosh 的开发故事。