湾区日报文章第86辑

目录

2017/02/27 第851期

在 Reddit 上操纵舆论

有专门的公司控制着一堆真的、活跃的 reddit 用户账号,只要你交钱,就可以按你的要求发帖、回帖、顶贴、引导舆论。应用:危机公关、新产品上线、攻击竞争对手、造谣。 如果有能力把一条消息在短时间内传达给数以百万、数以千万计的人,确实是能赚到钱的。

How Discord Stores Billions of Messages

Discord 使用 Cassandra 来存储聊天消息的经验分享。一开始用 MongoDB 快速迭代开发,然后迁移到 Cassandra。

Intercom 的创业故事

Intercom 是他们几个创始人一起搞的第三家公司了,来自爱尔兰、在硅谷很难融资。07年第一次到湾区,由于是twitter最早的那批用户、试着给twitter创始人biz stone发邮件、一两个钟头后被邀请到twitter办公室。 biz stone 投资了 Intercom,尽管他没弄清 Intercom 是干啥的;有了 twitter 创始人做早期投资人,以后融资就容易多了。

Top ten pull request review mistakes

看都没看代码就 +1、ship it、LGTM 的;拖了N天才开始review的;过于纠结代码风格的;轻易放过劣质测试代码的;凭想象来review前端代码的。 review 别人的前端代码(html、css、js、app ui),最好将代码弄到自己本地机器跑一下,肉眼看看跑出来的 UI 长啥样,盯着代码、全凭想象,是很难看出毛病的。当然,提交代码的人也可以提供截图、动图,或者亲自 demo,方便他人 review 你的代码。

Chrome:来自 Google 的神秘项目(2008)

2001年Google俩创始人告诉Eric Schmidt他们要做浏览器,被Schmidt制止了;2004年互联网上谣传Google要做浏览器;2006年开始做浏览器;2008年正式推出。 本文发表于08年9月2日,Chrome正式推出的那一天。选用 WebKit、自己做 javascript 虚拟机(v8),保证这个浏览器速度快;事先让 Mozilla 的人知道有这个浏览器项目的存在了;在决定UI上放哪些按钮、哪些功能时,先假设UI上啥都没有,一个个功能深思熟虑,能不放就不放,保证UI的简洁。

2017/02/28 第852期

User Research is Overrated

花几个星期的时间做所谓的 user research(采访潜在用户、创建 persona 等一堆方法论)是很浪费时间的,更像是为了不愿意动手做东西而找借口拖延时间。

Culture is the Behavior You Reward and Punish

来自 VMware 前 vp engineering 的文章。她在文章里没有指名道姓地说是针对什么公司、什么事件而写的,但读者应该都能猜得出来。 公司文化不是靠说出来的,而是员工们的实际行为表现;新员工入职后,会观察、会模仿老员工的行为;如果一个混蛋做尽坏事照样能往上爬,新员工们会怎么想?这就是公司文化。

我是一个 Uber 幸存者

又一个 Uber 以前的女工程师撰文讲述自己在 Uber 工作的惨痛经历。上司言语上的挑衅与折磨、HR的不作为、一些男同事建群分享自己对女性同事性幻想。 "The HR team was known to be deftly afraid of Travis’s tendency to blame and ridicule the women and yell at HR whenever they went in with complaints of abuse."

如何自己出版一本小说

用 Scrivener 写作、排版、生成 pdf 用以打印出纸介质的书;用 Vellum 生成多种电子书格式;搞一个 ISBN;放到 Amazon 上去卖。

Incident management at Google

Google Cloud 的 SRE 工程师第一次 oncall 的流水账。文中叙述的各种实践在湾区工作的人应该都很熟悉,可能由于 Google 前工程师散布在湾区各公司、将这些实践也带了出来。

2017/03/02 第853期

使用 Nginx 做 S3 的缓存

思路很直白,而且不用改代码:用Nginx做S3的缓存,Nginx将文件缓存到本地服务器磁盘上;访问都是通过HAProxy传到Nginx或S3(如Nginx挂掉的话)

Airbnb 如何进入 Y Combinator 的

2008年,Airbnb钱花光了,创始人刷爆信用卡;其中一创始人CTO已打算散伙、已回东部、订婚、做起咨询养家糊口了。剩下的俩创始人靠卖麦片养活自己。最后一线生机:Y Combinator Paul Graham 被卖麦片的故事打动了,直呼:你们简直就是创业圈的蟑螂,永远不死的。后来三个创始人又聚在了一起,走到了今天。本文是作者的新书 The Airbnb Story 的节选片段。

Dilution

Sam Altman 谈融资。那些巨额融资、牺牲太多的股份的公司很少有成功的。牺牲多少股份合适?种子轮 10%-15%,A轮15%-25%。那种啥都还没做就先丢了50%股份的基本就没戏了。

There’s No Magic in Venture-Backed Home Care

HomeHero 曾是老年人居家看护领域的 Uber,在花完风投给的钱之前决定放弃这一领域彻底转型。创始人在本文总结了这些年的经历、经验、教训。 这种某某领域的 Uber 都要与政府法规做斗争;这种公司招一堆合同工,便宜,不用给他们买保险、没带薪假、避免各类潜在的雇佣官司等,但政府法规往往要求这些提供服务的人得是正式员工。HomeHero 一度遵纪守法把合同工都变成全职员工,结果多方都不讨好。

我是小有成就的程序员,我过不了白板面试

Rails之父DHH在Twitter上调侃:我叫大卫,我没法在白板上写出冒泡排序,我都是从网上找代码,我不会做脑筋急转弯。一堆小有成就的程序员们跟帖纷纷表示自己必定过不了白板面试。 白板面试是为了招聘无足轻重的小螺丝钉的,你们这些有创造力、小有成就的人瞎起哄啥?你读那么多书,去建筑工地面试面砖还不一定能过呢,雇主需要的技能跟你的技能是不匹配的。

2017/03/03 第854期

Silicon Valley La La Land

硅谷版的 La La Land:)写得很地道,在湾区生活、工作的人应该会喜欢的。华裔女生和中国男生在湾区相遇和相爱的故事,然而梦想从硅谷匆匆路过的,两个人都没停留… 这是来自湾区日报的读者 duree 的文章,中文版在此,写得真不错。

为何 Snap 称自己是相机公司

引用了张小龙说的:PC互联网的入口是搜索框,移动互联网的入口是二维码。摄像头是一种输入设备,扫二维码、图像识别、图像搜索、无人车的“眼睛”、AR。 Snap 有足够多的照片进行训练,可以做 visual search engine,或智能的 AR。今天 Snap 上市了,表现不错,市值 $280 亿,这么一个 “小小的 app” 的市值已经高于这些公司:Twitter、法拉利、Best Buy、希捷、希尔顿、美国航空。

Unix 哲学的崩塌

吐槽了一系列 Unix 糟糕的设计,尤其是 shell;Unix 上目录命名规范很多都是“历史遗留问题”。本文的目的是让人们意识到 Unix 是不完美的,还有很大的改进空间。 Ken Thompson 曾被问到如何能改变 Unix 的话,他将改变啥?他说想把 creat 系统调用命名为拼写正确的单词 create。

Why we are not leaving the cloud

GitLab 在 2016 年底写博文说他们即将从 cloud 迁移到自建的数据中心。但在听取了广大网友们的建议与警告后,决定继续留守 cloud。本文汇总了一些网友精辟的建议与警告。 业务达到一定规模后自建数据中心确实是能省钱,但前提是你不差钱,团队也达到了一定规模,并能有足够的人手、足够强的搭建与管理硬件的技能;毕竟你擅长的、能赚钱的是顶层的应用,而非搭建与管理硬件,把你不喜欢也不擅长的活交给专家吧。

JSON-Pure:REST API 的替代品

REST API 与 HTTP 协议捆绑在一起,如依赖HTTP请求方法与状态码,难以移植到其他传输协议,如WebSockets。文章提出的JSON-Pure模式其实在GraphQL里已有体现。

2017/03/05 第855期

又一个 Uber 前员工勇敢站出来:女上司对女工程师的性别歧视

她在文中附上了一封她写给 Uber HR 的邮件,历数她那同样是女性的上司的种种恶行。与之前大家看过的 Uber 故事一样,与HR多次开会后,HR打太极、不作为。最终欺负人的混蛋依然留在公司、被欺负的员工离职。 在一个恶劣的环境里,对与自己同一类的人下狠手是很常见的。。。

How Not to Die

来自 Paul Graham 的一篇 2007 年的旧文。只要你的小创业公司能活得足够长,你就能致富。怎样才能争取到足够的时间?要嘛做得足够快跑赢时间、要嘛有足够多的钱来付自己工资然后买时间。 人其实也一样,只要你活得足够长,你就有成功的一天。在18、9岁死掉,人生最大成就:考上某大学;在22、3岁死掉,人生最大成就:拿到某大公司offer;在25岁死掉,人生最大成就:靠父母的首付买房;在30岁死掉,人生最大成就:生了个娃。hmm,我又在胡言乱语了:)

Amazon 对其 S3 故障的分析报告

这是2月28日一个工程师 fat finger、敲错命令而引起的巨大故障。S3 故障就意味着大部分于 2010 年以后成立的美国的酷炫著名互联网公司们的线上服务也出现故障。 给人用的工具(如命令行程序)的设计(如命令行参数、脚本对错误的处理)一定要考虑人是必然会犯错误的、要减少自己人擦枪走火的情况。大部分 production 的事故都是因为“改变”而引起的,改了代码/配置、引入 bug,或者人为操作、敲错命令。所以星期五下午尽量不要进行 production 的“改变”,不然周末就有可能不好过了。

减少 Slack 桌面客户端的内存使用

Slack 的桌面客户端里,每一个 team 是一个 webview,跑 javascript、渲染 DOM 很吃内存。很多用户都有多个 team,但任何时刻都只能在一个 team 里聊,所以其他不活跃的 team 没必要渲染 DOM,这就能省下很多内存了。 文中那张“怎么决定是否通知用户有新消息”的图,真是,很,复,杂。。。

Foursquare 顽强地生存了下来

Foursquare 最有价值的东西是用户们 check in 的精确的地理数据。这些数据通过 API 的形式卖给其他公司、开发者们使用;比如健身类的 app 可以在你接近麦当劳的时候提醒你不要吃垃圾食品:) 购买并集成 Foursquare 数据的知名公司有:Snapchat、Twitter、Pinterest、Uber、Microsoft。

2017/03/06 第856期

Exponential growth devours and corrupts

Rails 之父 DHH 的批判硅谷式创业的文章:对创业公司指数级增长的期望造成产品臃肿不堪、布满了引诱用户犯错的growth hack陷阱,让公司急功近利、烧钱买增长、让世界变得更糟。

Security 101 for SaaS startups

创业早期专注于产品,有一些东西可以不用太重视,比如安全、scalability、测试等,因为公司说不定半年后就倒了;但有一些最佳实践最好举手之劳做了,不然以后tech debt不好还。本文就是属于安全方面的“举手之劳”的事。

用三个月时间全职找工作的体会与反思

创过业、做过CTO,找高级码工、架构师之类的职位。与55家公司联系,聊了191个人,224小时花在讲话上,33个小时的带回家做的面试题作业。走完14家公司完整的面试流程,6个offer,5个明确拒绝。 作者对经历过的面试流程的评价:dehumanizing, stressful, chaotic, inaccurate, opaque。

You Can’t Have a Rollback Button

很多公司部署代码的流程里都有一键 rollback 的机制:当发现新版本代码里有 bug,以最快的速度恢复到上一个好的版本。回滚代码容易,但回滚数据(缓存、数据库)很难很难。 最佳实践?与其 rollback,不如 roll forward。使用 feature toggle。先将一小部分(如1%)的请求切换到新版代码,检验一下是否有 bug;让1%的用户生气总比让100%的用户生气来得好吧:)

当你刷了信用卡后,都发生了什么

解释了信用卡的运作原理。整个流程很复杂,手续费很贵,因为层层收费;没有必要那么复杂,手续费也没有必要那么贵。垄断+法律法规让这方面的改进、创新变得十分缓慢。 让我想起了“当你在浏览器输入 google.com 并按回车后,都发生了什么” :)

2017/03/07 第857期

作为开源项目的维护者是一种什么样的体验

作为一个流行的开源项目的维护者是很不容易的,素不相识的伸手党们会因为你没有及时回答他们的问题、没有及时帮他们搜索出他们想要的答案而咒骂你,开源项目维护者们往往会憋出心理疾病来的。 很多人会说,怎么心理素质那么差、不就被说几句吗?如果你每天看到那些对你个人、对你个人作品的负面评价,然后又能保持正能量,那你真的很厉害;不过,得先有人愿意骂你,估计你还没厉害到有很多人愿意花时间去理你、去评价你。恩,所以你是无法体会到的。

垃圾营销邮件是如何运作的

在某网站注册账号、“获赠”免费小礼品,然后注册信箱被同步到各营销机构;这些营销机构收集足够多邮箱后,就能到处接活群发邮件了,推销各种三无产品之类的。 发邮件的IP与邮件的域名是有“名声”的,名声不好就会被 gmail、hotmail 这种大的服务提供商扫进垃圾邮件;所以这些营销机构在群发邮件前得“预热”一下:自己注册一堆 gmail、hotmail 邮箱,群发邮件到这些假邮箱,只要这些假邮箱不把邮件扫进垃圾箱,那么他们的域名、IP就有一些好名声了。 如果你有办法把一个消息传递给许许多多的人,那你就有办法赚钱:)

ConvertKit 的创业故事

他在 2012 年很公开地写了篇博文说要做一个网站、然后6个月内达到月收入$5千。他做了这个营销邮件自动化的 SaaS,将近两年时间里,月收入却一直在1千到3千,差点不想做了;后来全身心投入,现在招了24个员工,月入$60万。

创业公司员工的期权真的很复杂

非常详尽地给出了各种情况下的交税情况。但即使你自己创办了N家公司、又是做风投,你不没法说自己对期权“很了解”。这套东西就是那么复杂,总是有一些 edge case 你没法解释清楚的。

AWS 故障所带来的损失

如果你整个 infra 完全依赖于 AWS,那么 AWS 故障了你也会受影响。那不用 AWS 了?如果你自建服务器的话,你将面临更频繁的故障、将花更多时间去做你不擅长且不喜欢的 infra 的事,更糟糕。 术业有专攻,该让别人赚的钱还是要让别人赚的:)

2017/03/08 第858期

在 Uber 的工作经历会成为简历上的污点吗

Uber 新员工培训的问题:“我们的竞争对手上线了类似UberPool的服务,我们已经来不及上线一个稳定版的服务了,我们该怎么打败他们?”正确答案是:“上线不稳定版,然后打败他们。”这样很Uber。 "Leslie Miley, a veteran software engineer who previously worked at Slack, said that he absolutely takes what he called Uber’s “asshole culture” into account in hiring decisions."

理想的创业合伙人长啥样

Sam Altman 给出了答案:他的 OpenAI 公司的合伙人 Greg Brockman。能以极快的速度写代码、招得到一堆牛逼的人、听得进意见、愿意做技术之外的脏活累活。 OpenAI 现在团队 40 多人,牛人密度很高。怎样才能招到牛人?你本身就得牛,光靠忽悠是不行的。Greg 之前在估值近百亿的 Stripe 做了 5 年 CTO,今年还不到 30 岁。有人会说,Greg 那么牛逼,为啥还需要合伙人?因为他的合伙人一个是 Sam Altman,一个是 Elon Musk。 前几天去 Twitter 总部楼下的咖啡厅见个人,隔壁桌正好是一个 OpenAI 的工程师在游说某个 Twitter 的员工加入他们 -- 我承认我喜欢偷听别人讲话:)

这套流程让我的创业公司被纽约时报、CNN等媒体报道了

本文简直就是创业公司寻求报道实用指南,非常有策略。本文介绍了如何用工具抓取并整理一堆相关博客、媒体的联系方式,并给出了发给媒体的邮件的模板,很鸡贼、很实用。 做东西很容易,但要让很多人知道你做的东西却是一件很难的事。所以创业公司都要想尽一切办法,免费的、付费的各种手段,只为了把一条消息传递给尽可能多的人。找媒体报道是一条路,但不容易打动那些 reporter 们,毕竟骚扰他们寻求报道的人太多了。

采访 Josh Elman

Josh Elman 是Greylock的partner,他在做 consumer products 方面的专长赢得硅谷众多创业者的尊重。这个采访里他给的做产品、做VC方面的建议都不错。 当你听到寻求融资的创业者们说的哪三句话时你就彻底没兴趣了?1)啥叫 cohort?2)我选择这个 idea 是因为这个 idea 容易拉到风投。3)我觉得 Facebook 绝不会去做我的这个 idea 的。

Revisiting The Unicorn Club

分析了成立于 2003 年之后的 274 家估值/市值在此时此刻超过 $10 亿的公司(独角兽),其中美国有148家、中国69家。红杉资本投资了其中的41家独角兽,第二名Accel投资了19家。 按领域来看,美国最多独角兽的领域是 SaaS,而中国几乎都是 consumer internet(容易造势、容易忽悠、营销优先的公司?)。 最早将估值 $10 亿的公司称为独角兽的是这篇发在 TechCrunch 的 2013 年的文章。

2017/03/09 第859期

The Death of Thought

没时间思考。一有空闲就刷手机、刷社交媒体。一天下来好像接受了许许多多的信息,但好像没啥记得住的或没啥有用的。或许只有在洗澡的时候才能思考、因为无法用手机?

在 Quip 做工程师是怎样一种体验

Quip(已被Salesforce收购了)的创始团队多来自 Google、Facebook,技术上比较成熟,每天“只”部署代码一次,周五不部署新代码,系统超稳定、oncall的人很闲,热衷于做工具尽可能自动化。 成熟的创业团队有经验、做事情可以比较有条理,不用吐血加班;年轻的没经验的团队会比较努力,但多年后回过头看,很多时间用在了踩坑、交学费上了。

为何命名如此之难

需要给东西取名字的时刻太多了:域名、公司名、主机名、函数名、变量名、项目的代号、会议室的名字等。人的想法各不同,对同一个名字理解不同,往往会有所误解。 桌面操作系统上的那些“东西”都是拿70年代办公室里的“东西”命名的:Folder、Trash、Desktop。

在科技圈工作十年

在三八妇女节之际,女工程师写下十年来的职场道路:MIT毕业、日本工作、在东京大学做RA被导师性骚扰、到旧金山创业公司工作被性别歧视、在Airbnb工作三年、辞职画漫画出杂志解释计算机科学知识。 一直在战斗。致敬!

Kevin Durant 在硅谷的生活

硅谷科技圈上得了台面的人都爱与金州勇士的球星来往,反之亦然。Durant 在 Ben Horowitz 家过生日;然后在 Eddy Cue 家观看本届总统大选,一起观看的还有 Tim Cook。 Durant 的公司 Durant Company 也投资了不少创业公司。 相关文章:伊戈达拉学做科技圈投资人、与打篮球一样刻苦执着的投资人:Kobe Bryant、在风投接管了金州勇士队后

2017/03/10 第860期

Voice and the uncanny valley of AI

声音最为计算平台的 UI 几乎已成为现实,声音识别与AI技术今年都有极大发展。但实际上各类“智能”声控的产品都还很不理想。 人们的期望是能够与机器用自然语言对话,现实是你只能说特定的一些“命令”而你也很难事先知道到底哪些命令能work、哪些不能work。声音产品、AI 的发展正处于所谓的 uncanny valley 阶段。

Opendoor 的技术栈

Opendoor这家公司的模式有意思:卖房子的人把房子卖给Opendoor,拿到钱,完事;Opendoor对房子装修、安密码锁,卖房;买房的人随时可以去看房,通过app得到密码锁的密码,自助看房。 他们需要对房子进行估值,所以需要做不少数据分析的工作。文中描述的技术栈里数据分析相关的工具不少。整个技术栈不是很特别;毕竟现在技术都是 commodity 了。

Microcopy 的魔力

所谓 microcopy 就是 UI 上那些带给用户惊喜(或亲切感)的小小的文案。文中举了不少这种 microcopy 的例子,看得出这些 makers 都很用心。

The PRPL Pattern

通过 Progressive Web + HTTP/2 构建反应超快的 mobile web。快速渲染出网页基本框架,push、缓存、或 prefetch 各种关键资源,lazy load 剩下的资源。 有种假象:手机上的 native app 很快,而 mobile web 很慢。因为 native app 下载安装后,即使在没有网络的情况下也能打开,能看到颜色、图标、基本框架、缓存的内容等;而 mobile web 相当于每次用都得“下载”,没有网络、或网速慢的情况下连个“壳”都出不来,所以感觉慢。如果把 mobile web “安装” 到浏览器上,就能造成“很快”的假象;不管有网没网每次都能瞬间打开,就像使用 native app 一样 -- 这就是 Progressive Web App 所倡导的。

“10x 程序员” 之谜

从事脑力工作的群体里很容易识别出某些人的工作效率比其他人高出十倍、百倍,比如所谓的 10x programmer。本文列出了这种“10x 程序员”能高效工作的原因。

© Licensed under CC BY-NC-SA 4.0

如果你想走到高处,就要使用自己的两条腿!不要让别人把你抬到高处;不要坐在别人的背上和头上。—— 尼采

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!