2017/03/11 第861期
为何 Trello 无法做成 $10 亿级别的公司
Trello 以 $4亿多被收购,结局其实算不错的了。如果再来一次,Trello 怎么做才能更上一层楼、达到估值 $10 亿、不用卖身、且能战胜众多抄袭者(如 GitHub、Asana)?
对比:Trello 上线三年,达到 1000 万用户;Dropbox 上线三年,400 万用户。Trello 免费用户没有升级成付费用户的动力,掏钱的动力不足。要说服个人用户掏钱很难,但如果能讨好公司客户,公司们倒是人傻钱多。
Password Rules Are Bullshit
很多网站、app 注册新账号时都要求非常复杂的密码规则(大小写结合、要有数字、要有非数字非字母、至少8个字符等),这给用户与开发人员都带来巨大不便。没必要那么多规则。
How to never complete anything
作者反思:自己也算是公司内优秀的工程师,大规模系统架构啥的玩得很溜;无奈业余时间做的一堆 side project 没一个从一而终,不是三心两意追逐不断出现的新技术,就是想太多做得太复杂然后做不下去了。
如果在乎做 side project 的过程,那多尝试新东西是没错;如果在乎结果,想做出一个别人可以用的东西,那么实现上没必要跟在公司里做东西一样“严谨”,意思一下就行,不要弄什么 microservice、酷炫 js 框架,都跑在一台机器上,快糙猛。
如果你鼠标右键打开湾区日报网站的html、js源代码,你就知道我在湾区日报这个 side project 上是多么不规范了,没有 minify、uglify,没有酷炫 js 框架,css 内嵌在 style 里;湾区日报最有价值的是原文链接,其次是我写的中文简评,代码只是辅助的。
如何知道某个产品是否真的用了 AI
风投进城防骗指南:某家创业公司声称他们的产品用了牛逼的 AI,很智能;如何判断他们是不是在骗人?文中提到可以让他们解释算法;俩问题:1,风投要没三两下子还真听不懂;2,商业机密不便投入,怎么办?
一般正规的风投都养了一帮人在评估技术方面的事情的;如果没养这么一帮人,也会去请信得过的专家朋友来帮忙把关。我有个朋友是UC某校教授,最近几年有在帮一些风投把关创业公司是否骗人、技术是否牛逼,也不失为教授赚外快的一条路。
你为何会觉得写测试是一件很烦的事
很多刚毕业的年轻程序员觉得写测试是很沮丧的事,写起来磕磕碰碰的,不痛快。为啥会有这种感觉?在学校里学了几年的编程,很少人有机会去写测试,对测试这门手艺活当然很陌生了。摆正思想,多练习,自然就熟练了。
2017/03/12 第862期
Why you should kill your cash cow
2007年 iPhone 推出时,iPod 占 Apple 收入的 50%;2009年黑莓占智能手机市场份额 25%;2011年黑莓销量达到顶峰;2012年之后,黑莓急速衰落。
Apple 相当于在 2007 年亲手杀掉公司赚钱的大奶牛 iPod 而推出新的产品线 iPhone;Apple 管理层里没有设专门管 iPhone 的 VP 或专门管 iPod 的 VP,这样就不会有山头主义、保护自己部门的产品、阻止公司内推出新的产品线。如今,iPhone 占了 Apple 收入的 70%,Apple 会杀掉这头赚钱大奶牛吗?
What We Talk About When We Talk About Companies
一个风投做投资决策所要考虑的点。虽然有各种数据、定量分析,但到了做决策的时候,更多的还是定性分析。
软件工程师如何估算项目所需时间
产品经理、CEO、CXO 们都很不解,为啥程序员们估算项目所需时间都这么不靠谱,说好两天能做完的、实际都要拖几周。要估算好项目时间,重点是各方要及时沟通好。
程序员上班8小时没法每一分每一秒都在写产品功能的代码的,面试、开会、code review、oncall、修 bug 等事情往往要占去一大半时间;而且产品经理别老改需求啊;所以沟通很重要。
可以匿名发消息的 app 为何都失败了
匿名降低了实施网络暴力的门槛,可以无责任随便骂人、造谣、毁谤。已下线的 Secret 一度雇佣了90个全职员工进行删帖活动,维护成本太高。
让人上瘾的线上服务往往都需要用户有个身份,即使不实名、也得有个网名;有这么一个身份,用户就能日积月累地进行投资(时间、精力、金钱),让身份变得“尊贵”(如名声、等级、积分等机制);人的虚荣心得到满足,不断回来维护自己的虚拟身份,用户留存率就上来了。而匿名的 app 里,用户没有身份,没法进行“投资”(投资时间、精力),没有回来用的必要,新鲜劲过了也就不想用了。
Mint 如何在正确的时间发正确的消息留住用户
消息可以是电子邮件、app 消息推送、短信。通过发消息提醒用户“快点回来打开网站、打开 app”是很标准的实践,一般有两种类型:1,事件驱动的;2,定时发送的。
作为用户的时候,很烦各种 app 推送消息;作为开发者的时候,却要想方设法推送许多消息给用户。做下属的时候,在背后骂领导;当了领导后,抱怨下属能力太差。人生不同阶段角色的转化总是那么有意思。
2017/03/14 第863期
Messenger Day在设计上的缺陷
去年 Facebook 在 Instagram 上抄了 Snapchat 的 Stories 功能,今年又在 Messenger 上抄了一遍。Quora 设计总监在本文指出了此次抄袭之作在美观、实用、产品上的缺陷。
Complexity and Strategy
有一定工作经验的工程师都知道:实现第 N + 1 个功能的代价不是 1,而是更接近于 N。功能越多、代码越复杂,就越难以加新的功能、难以创新。作者有什么资格写此文?他领导过Office的开发十余年。
关于编程语言,以及为何我爸从程序员转行做公交车司机
程序员们喜欢为“最好的编程语言”而争论不休,作者举了他爸为例:曾是COBOL程序员,工作多年但由于没有主动学习最终失业、破产、找不到工作、去开公交车了。关键不是编程语言,而是不断学习的态度。
不同类型的测试
用户行为的测试(如A/B测试):做实验 + 人类给反馈;软件行为的测试:做实验 + 机器给反馈;验证功能正确性:Spec + 人类给反馈;验证功能稳定性:Spec + 机器给反馈。
Code review 也是测试的一种,属于验证功能正确与否,Spec + 人类给反馈。
莫博士:活在科技圈统治阶级的阴影之下
中国以外的 consumer facing 的科技公司们都活在 Apple、谷歌、微软、FB、亚马逊五家公司形成的统治阶级的阴影之下,小公司们依赖他们的平台、被他们抄袭、碾压、收购。
这五巨头产品同质化很严重,既是竞争关系、又有合作、有依赖。
Eric Schmidt 曾说 Apple、谷歌、FB 与亚马逊是 consumer tech 的四人帮,认为微软是侧重于 enterprise 产品的,不在四人帮之列;时任 Windows 部门老大的 Steven Sinofsky 回应:历史上被称作四人帮的都没好下场。
2017/03/15 第864期
I am Not a Hacker
字里行间一看就知道作者是文科生:)作者对程序员这个群体进行研究,试图弄明白“hacker”的定义、为啥很多程序员不承认自己是“hacker”、以及编程这门手艺活的“威力”。
互联网、电脑与生活越来越息息相关了,会编程的话,能写脚本自动化繁琐的工作,甚至能找到某些政府网站的后门便利自己与家人(发挥自己的想象力啊)。
Super Angel Chris Sacca
Forbes 对著名投资人 Chris Sacca 的经历的报道。早年炒股$1、2万炒到$1千2百万、再到负债$4百万;在所有人还不知道Twitter是啥的时候透支信用卡投资Twitter;拥有Uber不少股份却与Uber CEO闹翻多年不说话了。
这哥们胆子够大,应该让他发财。如果懒得读文字,可以听 Chris Sacca 接受采访的 podcast;他接受很多很多 podcast 的采访,我印象最深的是他接受 Bill Simmons 的采访(可能是两个人都很有名,所以我印象深吧)。
btw,他早年炒股是大学助学贷款作为启动资金的。。。
Tenets of SRE
Google 的现役 SRE 工程师批注 Google 的那本关于 SRE 的书。这是一系列文章,可以关注一下。
Google 的那本 SRE 的书在网上可以免费看,里面经验总结、运维的思想真的很不错,大多都适用于当今线上服务的运维。
科技圈今天的流行风向标并不能预测将来牛逼创业公司的出现
牛逼的创业公司都是在潮流出现前创立的,如 Airbnb/Uber 创建于“共享经济”潮流之前。投资人如果追逐潮流,就已经太晚了。
从 dotCloud 到 Docker
Docker 这家公司的前身是 dotCloud,做 PaaS 的,很早就用 container 技术;一开始用 python 给 LXC 与 AUFS 加了前端,慢慢演化成如今大家耳熟能详的 docker。
本文作者是 dotCloud 的早期员工,现在也还在 Docker 工作。本文回顾了 dotCloud 里的 container 使用情况、到 docker 的演化之路,以及解释了一些技术的选择。
2017/03/16 第865期
自己出版 Ruby on Rails 的书,赚了$7万
赚$7万看上去不是很多,但除以他所投入的时间,时薪$291,挺不错的。文中讲他如何选材、选角度做这个教程/书的部分讲得很好。Rails的书太多了,他从性能优化的角度来写,就与其他书区分开来。
我对这种不依靠“组织”(公司)、没有领固定工资、完全靠个人能力赚钱的人很是钦佩。这种人要去找一份“正常”工作很容易,但公司里领工资的人离开了公司要赚到自己的工资钱,往往很难。
其实在探讨“稳定”工作、job security 的时候,不应考虑在同一份工作是否能做一辈子,没人能保证这样的“稳定性”;而是要想想你现在换公司,容易(比如2周内)找到至少同等薪酬的工作吗?万一找不到这样的组织集体接收自己,你一个个体,有能力赚到同样的钱吗?
Brain drain
Y Combinator 孵化出的公司 Genius 年初悄然裁员 1/4。从注释 RAP 歌词,到“注释整个互联网”的雄心壮志,再到转型成为视频内容为主的媒体公司。今后的路该怎么走?
之前读 The Launch Pad: Inside Y Combinator,书里大篇幅介绍 Genius 这家公司,看上去前途一片光明的样子。现实中则是非常挣扎。他们“注释这个互联网”的 Chrome 插件才1.2万人使用。
Why Your Startup Should Be a Delaware C-Corporation
科普文章一篇。Delaware C-Corp 就像标准编程接口一样,进行融资、(自以为将来会)高速发展的创业公司遵循这个标准就是了。
风投、律师都有一整套的标准文档、标准流程针对 Delaware C-Corp,方便自己也方便他人,成立公司就走 Delaware C-Corp 路线。
Mixpanel 在员工股权政策的改革
大多数公司的做法:员工离职90天后,还没有 exercise 的股权就过期了。Mixpanel 改革后的做法:待满2年的员工若离职,还没 exercise 的股权在5年后过期,而非90天。
越来越多良心公司延长过期的时间了,不然离职的话一下子掏出大几千的现金、有的甚至几万、十几万去 exercise,不少刚工作不久的小年轻是很有压力的。
分析 Okta 的 S-1
即将上市的公司的 S-1 都能挖掘出不少好东西,有数字、有故事、有八卦、有趋势分析。自己的公司何时上市?找一份同类上市公司的 S-1 里的数字对比一下,就知道还差多远了。
2017/03/17 第866期
百万美金的工程问题
Segment 团队被自己的 AWS 账单吓到了,他们就用了3个月时间集中火力削减 AWS 开支,最终结果:一年省下$100万。他们怎么办到的?详见本文。
Why Is Silicon Valley So Awful to Women
采访了几位(曾经)在硅谷科技公司工作的女性,分别讲述自己经历的性别歧视(因性别而被质疑能力不行等)、性骚扰(电梯里、party 上遭遇咸猪手)。
年轻人居多的创业公司很多都是类似大学兄弟会的文化,酒精、疯玩、故弄玄虚、邪教组织办的洗脑等。不难想象这种文化下性别歧视与性骚扰是很常见的。Uber 是大公司,树大招风;还有许许多多小公司还没出名到被曝光的程度。
Beachhead Strategy
创业公司一开始专注于比较小的市场,地位巩固后再扩展到其他领域。文中用 beachhead 作比喻,军事上抢滩登陆后建立阵地,守住了后,后续部队陆续到来、扩大战果(参见诺曼底登陆)。
2004年的哈佛在校生个人主页 -> 10几亿人的社交网络;旧金山市区昂贵的专车 -> 发动全球主要城市居民开私家车做出租车用;空出床位租给来开会的、住不起旅馆的设计师 -> 全球最大的旅游短租平台;网上买书 -> 卖一切东西、出租云服务;每天推荐5篇需要翻墙才能看到的英文文章 -> 每天推荐5篇需要翻墙才能看到的英文文章,哈哈,这个一直没长进。
有个朋友04年的时候去哈佛读本科,日夜期盼尽早得到 harvard.edu 的邮箱;为啥?当时校园内很酷的孩子们都在用一个叫 thefacebook 的网站,需要 harvard.edu 的邮箱才能注册。他终于如愿以偿注册了,几个钟头都花在窥探同学、学长学姐们的个人页面上,很过瘾。
How to Write a Git Commit Message
第一行简要总结这个 commit,不超过50字符;中间正文部分解释为何有这个 commit、改了啥、啥原理;最后附上相关 ticket 的编号。
第一行的简要总结用命令的语气写,没有时态,如 Refactor function X for readability。
轻松搞定编程面试
假想面试的时候用 Clojure 做题,狠狠地鄙视了一下不懂 Clojure、且高傲无知的面试官,然后潇洒地离去。
这是真事:去年年初我电话面试一人,就是用 Clojure 在 CoderPad 上做题,五分钟、几行代码搞定,然后我们10分钟内愉快地结束了面试。我就是那个不懂 Clojure 的无知的面试官:(
2017/03/19 第867期
斑马与独角兽
独角兽公司:指数级增长,公司存在是为了让股东赚钱,零和游戏、争取垄断、干掉竞争对手;斑马公司:可持续发展,用户至上,乐于见到市面上多家同类公司的和平共存。
Why Some Startups Win
好的创业公司的员工们知道他们为什么来工作、需要做什么、如何知道他们成功了。如果只是机械地做 job description 上描述的那些事,去大公司拿高薪混吃等死就行了。
大部分的学术论文都毫无价值吗
1,发论文的过程训练博士生的绝佳手段,发现问题、解决问题、设计实验、团队合作;2,极少数论文是有用的,就像只有极少数创业公司最终成功一样,大家不会因为创业失败率高就不创业了。
这是来自 YY Zhou 的 Quora 回答。
Just how big is the podcast discovery gap
制作 podcast 的人最大的困扰是没有听众。作者给出自己的 podcast 的具体下载数字,感慨怎么 podcast 这么难被人民群众发现呢?
互联网上发现好玩的、有用的东西的机制无非就这几种:社交网络、搜索引擎、聊天软件里口口相传、花钱做广告等。podcast 内容是声音,声音在社交网络上不好分享、分享了也很难火起来,声音内容也不被主流搜索引擎索引,聊天软件里的分享传播起来很有限。难。
硅谷充斥着心理变态的 CEO
以自我为中心、乐忠于搞个人崇拜、情绪化、喜怒无常。没有指名道姓,也不要对号入座;如有雷同,那就是真的了:)
2017/03/21 第868期
现在我们知道为何微软买下 LinkedIn 了
硅谷对微软一贯持有敌视的态度,微软要想改善自己在硅谷的名声,就需要一个八面玲珑的硅谷通。微软买下了 LinkedIn,然后 LinkedIn 的创始人Reid Hoffman 加入了微软董事会。
他可以一通电话、一封邮件几分钟内联系上硅谷任何一个台面上的人;这对将来招聘重要的职位、或与其他硅谷公司谈合作都至关重要。长远来看,这是值 $260 亿的(收购 LinkedIn 的价格,相当于微软一季度的收入)。
采访 Techmeme 创始人
Techmeme 不写原创文章,而是靠人力手工聚合当天的科技新闻。网站访问量不高,但读者群体质量不错,你听说过名字的硅谷科技公司高管、CEO、创始人基本都是读者。
Techmeme 比较有名的读者有:Facebook 的小扎,Google 的劈柴,LinkedIn 的 CEO,Twitter 前 CEO,微软的 CEO 等。既然能吸引到少数高端读者,就没必要去迎合多数低端读者了。
在思考湾区日报盈利模式的时候,我有参考过 Techmeme 的方式;但最终还是采用了类似 Daring Fireball 的一次只接受一家赞助商的方式,因为我反社会、不想与太多人打交道:)哈哈。
三个湾区
旧金山湾区长大的三个不同家境的人:1,家境好,读藤校或斯坦福,毕业后生活小资;2,家境中等,读非伯克利的州立大学或二流文理学院,最终湾区待不下去,搬到外州;3,家境一般,父母一方是移民,社区学校毕业,屌丝一生。
阶层是会流动的,只是流动得很慢。家庭能提供的起点,真的对以后的路怎么走影响很大。你能举出一些出身贫寒最终发达人尽皆知的例子,但更多的情况是家境好、接受好教育、有好的人际圈子、毕业后高收入或创业小成功(卖几千万但不被新闻报道的那种)。
Firebase 的创业经验
Google 收购 Firebase 后将其打造成一站式开发 app 的服务。而 Firebase 创业初期,他们经常去 hackathon 现场与小屁孩们一起通宵、帮他们做项目、顺便推广自己的 API 产品。
一家公司要成为 hackathon 或相关活动的赞助商往往要交几千上万的赞助费;而 Firebase 当年则是帮参与者们买啤酒,相当于“赞助商”,但买啤酒的钱就少得多了,很鸡贼啊。如果用户是开发者,多跑一些 hackathon 是有好处的。
定位与黑盒
做产品首先要了解自己的产品,两种了解自己产品的思考方式:1,定位:文中给的那个完形填空自己练习一下;2,黑盒:输入、输出、流程几个步骤分别是什么,弄明白了就能有目的地不断迭代。
2017/03/22 第869期
铁路大亨
Sid Meier 的经典游戏铁路大亨的制作过程。从 side project 做起,阅读铁路历史书、参观博物馆、亲自搭乘蒸汽火车,相当考究。1990年开卖,180页的游戏手册。
可惜铁路大亨一直活在后来 Sid Meier 的人尽皆知的文明系列游戏的阴影下。我1999年(还是2000年?)时玩过铁路大亨2,可惜没玩过经典的 1,毕竟1990年的时候真的很难接触到电脑。
Bill Gurley 与 Uber
Bill Gurley是硅谷知名风投,身高2.05米。一人一首(或两首)成名曲:97年投资eBay,回报500倍;2011年投资Uber(20%股份),按目前估值算,1100倍。
Configuration Management is an Antipattern
Puppet、Chef这类运行时自动化配置机器的工具也满满是坑。替代品?所谓的immutable infra,打包成AMI或Docker的image。
文中提到的使用 Puppet 一键毁掉四千台机器的事故是真实存在的。。。事后各种古怪的 git branch 规范让 operation 变得更复杂。
GitHub 允许员工使用公司资源做个人项目、且个人拥有IP
接受 offer 时一般都要签协议:用上班时间、公司电脑做个人项目,知识产权归公司。GitHub 打破这个常规,善待员工、鼓励创新、不作恶。谁没一两个 side project 呢?
公司霸占个人项目 IP 的这种条款可以保护公司:如果没这种条款,员工反过头来声称自己拥有公司里的产品的 IP,公司不就吃亏了?但现实都是公司欺负个人的案例多于个人欺负公司的。
现在编程与80年代时编程的不同之处
现在大部分的编程活动不用太多思考,需要动脑子的是如何想出合适的关键词搜索、以及具备在 StackOverflow 上挑选不算太差的答案的能力。80年代编程需要不同的技能,没地方问人,只能自己想。
北朝鲜的程序员如何编程的?
2017/03/23 第870期
Apple 的定价策略
Watch 和 AirPods 这两个可穿戴设备的入门级价格都比其他品牌同类产品低,争取从没用过 Apple 产品的屌丝新用户,然后诱使他们买价格高、利润高的 iPhone。
Performance bugs
性能方面的 bug 很容易在开发的时候被遗漏掉;这种 bug 就是代码的行为是正确的,但跑起来慢。最好在开发流程中经常 benchmark 一下(加到 CI 里最好了)。
我是如何工作的
PHP web 开发框架 Laravel 的缔造者 Taylor Otwell 描述了自己如何工作的:全职在家上班,早上8点工作到下午5点,iMac 加俩外接显示器,使用 Sublime 写代码。
选择 SQL
做网站的主力数据库一律用的关系数据库,如 MySQL、Postgres,别用 NoSQL。关系数据库发展了40多年,久经沙场,稳定、易用、省空间、省心。
关系数据库会有 scalability 的问题、大数据怎么办?放心,你的网站存在的整个生命周期访问量都不会太高,压根不会有大数据问题;况且,世界上访问量最大的那些网站主力数据库都是 MySQL 或 Postgres。如果你有幸发展得不错了,自然有足够的人力、金钱去解决 scalability 的问题。
Disqus 的 Demo Day 故事
2007 年 Disqus 创始人通过 Y Combinator 的关系将 Disqus 安装到了知名风投 Fred Wilson 的博客、替换掉原来的评论系统,然后在 Demo Day 上“正式上线” Disqus。
在 2007 年的 YC Demo Day 上 Fred Wilson 提出一个功能请求:能通过邮件回复评论,Disqus 俩创始人用一个周末实现这个功能,从此 Fred Wilson 的博客就一直用 Disqus 了,之后也投资了 Disqus。
Disqus 是属于“先取名字、再想创业 idea”的路数。他们先注册了域名 disqus.com,然后尝试不同 idea,最终做了网页的评论挂件。2007年创业到现在,整整十年了。