2015/09/26 第349期

How Chromium Works

文章讲了(几年前)Google做Chrome浏览器的那个团队是如何运作的。浏览器应该也算是人类创造的最复杂的软件之一了。

代码都commit到同一个branch、没完成的功能隐藏在runtime switches后面、大量自动测试、无止境地代码重构、尽量使用最新的 dependency 的代码(比如webkit)。

传说在某个特定历史时期,firefox的 linking(链接)需要18个钟头(注意,是linking,不是编译);Chrome 的 linker 是 Google 自己写的 gold (巨快无比),而不是 GNU linker (ld)。

如果开公司,不要用Ruby on Rails

Scribd的创始人写的。Scribd是全球使用Rails的网站里访问量第三大的。文章不推荐使用Rails,因为Ruby太慢了,而且Rails几年来都没啥长进。不过文章最后也没明确给出推荐的语言/框架。

他是Mark Zuckerberg的同系师弟,在Mark退学一年后,他也退学创业了。Scribd是Y Combinator的第一批公司之一。

Goodbye, Native Mobile Apps

全世界所有公司都在进军 native app 的时候,而在线杂志、长文发布平台 Atavist 打算(暂时)终止他们的 iOS / Android app,全力专注于网站。

5年前他们开始做的时候,HTML5还不成熟,于是他们就做 native app。然而,现在HTML5技术成熟了,各大媒体网站都能很快用HTML5作出精美的、交互性很强的长文页面。Atavist网站读者群体常常50倍、100倍于来自app的读者数量。小公司、人手不足,有选择地放弃、有选择地专注,我觉得很明智。

Atavist早期投资者有 Eric Schmidt、Marc Andreessen、Sean Parker 与 Peter Thiel,都是硅谷赫赫有名的人物。

给要搬到旧金山科技公司工作的人的公开信

旧金山只有两种人,在科技公司工作的与不在科技公司工作的。到旧金山的科技公司工作,就与城市里其他本地市民进入了阶级斗争。

文章呼吁要来旧金山工作的人(尤其是科技公司),应该多参加社区活动、多跟人交流、多坐公共交通少坐Uber。总之,不要太宅、多融入这个城市。在科技公司工作没什么了不起的,高房价也不是你的错。

Why Continuous Deployment Just Keeps On Giving

来自Intercom的经验分享,介绍他们如何做 continuous deployment,他们一天能部署将近100次代码,部署一次耗时不到10分钟。

在他们团队才只有6个人的时候,就开始做自动化的 continuous deployment,这个投资对以后开发效率的提高很有帮助,而且有效避免了在 production 环境下直接改代码的坏习惯 -- 部署代码都已经那么快了,根本没必要冒险登陆一堆 production 的机器改代码。

一个团队工程技术水平高低,直接反映在部署代码上。我碰到其他公司的人,都喜欢问你们怎么部署代码的,非常大开眼界。你很难相信,很多(有一定规模的)公司仍然是人肉ssh到十几、二十台机器上git pull、手动重启服务器,部署一次代码几个小时,每次部署代码都很戏剧性 -- 这么原始,活该加班:)