湾区日报文章第59辑

目录

2016/05/16 第581期

从技术角度讲解邮件营销

发邮件给几十个人是很容易的事情,但发邮件给成千上万个人是很难的。是用现成的昂贵的工具(如MailChimp)还是自己动手搭一个?如何在合适的时间点将合适的内容发给合适的人? 还有其他需要考虑的问题:如果自己发出的邮件直接进了所有人的垃圾邮箱,怎么办?如果邮件发送过程中程序出错,重发的话会不会导致某些用户收到重复的邮件?如何让邮件在各种屏幕大小各种邮件客户端各种邮件服务商的各种排列组合中都正常显示?

Dropbox迁移到HTTP/2的经验教训

他们的web services用 nginx 做 load balancer。他们就把 nginx 升级到最新版,先在canary机器的nginx配置文件里enable http/2,然后观察各种监控图与nginx logs。还是有不少坑的。 整体感觉各种千奇百怪的客户端(浏览器与app开发的sdk)对http/2的支持还不成熟。

Rackspace的面试流程

软件开发是团队运动,公司里招人也是团队运动。Rackspace的这个招人的流程很结构化,面试官们需要各种协调各种分工合作。 最后给 candidate 打分:+2 hard yes, +1 soft yes, -2 soft no, -4 hard no;总得分小于等于0的,直接拒了。

Writing with the machine

像代码自动补全一样,在写文章的时候文本编辑器也能智能地自动补全句子。作者在这个project里,后台用torch-rnn训练文本,然后给Atom做了个插件给后台发请求自动补全句子。

That'll do pig, that'll do

这是一个创业两年多但一直没有将产品上线最后没钱了只好把知识产权卖给投资人然后让投资人帮忙还债的故事。整篇文章描述了犹如坐过山车的创业体验,起起落落,偶尔看到一些希望,但更多的是失望。 文章最后,作者发了自己创业前与创业三年后的照片对比。。。

2016/05/17 第582期

Evernote的新CEO:我喜欢被低估

游戏进入困难模式:一个每天新增10万用户的产品,功能无比复杂,维护成本极高,砍掉任何功能都有少数用户用最恶毒的语言咒骂你;媒体们整天唱衰你的公司;用户还不肯掏钱;做为CEO,你该怎么办?

用户点击消息推送的时间规律

分析了6.71亿条app的消息推送,发现用户点击消息推送的高峰是在晚上。结合电视与互联网等媒介的使用规律,得出众所周知的结论:人们喜欢晚上边看电视边玩手机。。。

如果我今年22岁

来干了这碗鸡汤吧。 作者是Apple管线上与线下商店的Senior VP Angela Ahrendts;她以前是 Burberry 的CEO。文章很短,值得一读。 我最喜欢这两句:"Perfect the power of positive thinking and intention for myself and others." 以及 "Earn everything and not ask for or expect anything I didn't contribute to." 夏天到了,有带暑期 intern 的人可以把这篇文章转给他们看看:)

创业公司们充满创意的关于盈利的定义

其实都还没怎么赚钱,但都得声称自己是 profitable,不然就不酷了。怎么个 profitable 法?在不考虑X,Y,Z的开销的情况下,我们其实是赚钱的。 Uber: "第一季度在美国与加拿大是 profitable 的";Lyft: "有这一条清晰的通往 profitability 的道路";TaskRabbit: "年底以前将 profitable profitable(是的,这个单词重复了两次)";Airbnb: "达到 profitable 的状态是 won't be too long";DoorDash: "在个别市场是 profitable 的"。

工作之余做 side project

专利局的小职员爱因斯坦在工作之余做side project发论文:)有的公司是鼓励员工追求工作以外的兴趣爱好的,但也有公司管得很严;尤其是知识产权方面,业余时间做的东西归公司所有吗? 几个例子: 陈士骏是facebook前15号员工,在fb上班的时候消失了一段时间,回来工作后立刻辞职;把工作电脑归还给fb的时候,fb的IT部门发现电脑硬盘已经被格式化了。他离开fb后,创办了YouTube。 Dropbox的创始人Drew Houston在做Dropbox的时候还没有辞职;后来要出来创业了,就跟原东家签协议,将Dropbox与原东家划清界线。 我上周面试了个Amazon的前员工,他业余时间做了个iPhone游戏,结果Amazon的hr竟然神奇地发现了这个游戏,并打电话给他,勒令他停止这个iPhone游戏的开发,因为 conflict of interest(就因为Amazon自己卖游戏,所以禁止员工业余时间做游戏?)。

2016/05/18 第583期

在美国如何找教职

大部分的人是不找教职的,就当做是长见识吧。写得很全面。文中有个建议:如果你在Google搜自己的名字而在前几个搜索结果找不到自己的主页,可以考虑花钱买AdWords。。。

是的,你需要写商业计划书

这里不是指那种动辄上百页的MBA式的商业计划书,而是创业团队成员集体探讨出来的、用人话写出来的、短短几页的、能回答如下问题的商业计划书:产品是啥、盈利模式是啥、怎么衡量你到底是成功了还是失败了、用户的persona是啥、目标市场是啥、做这件事需要多少钱等。

一个普通员工如何让团队变得更好

那些上进的、看不惯开发团队的种种愚蠢低效的行为的、自认为行动力强且有想法的小员工们,除了尽早跳槽外,有没有办法以身作则、潜移默化地让团队变得更好? 公司里文档不全?别抱怨,自己动手补全。都21世纪了,竟然公司里的代码还没有版本控制?别抱怨,自己弄一下git。公司里竟然没有code review的机制?别抱怨,自己装个code review的工具(Phabricator之类的),找个同事试验一下。当然,你要推广好的实践、说话要有分量,自己的本职工作得先做出色了。

Cool URIs don't change

有些网站的运营者们喜欢定期清理、改变网站的URL,而且匪夷所思地不将旧的URL 301重定向到新的URL。设计URL的时候想清楚了,就像人名一样,要用几十年、一辈子的。

Ruby在过去的13年里已经足够快了

Rails之父DHH反驳有些人对Ruby速度很慢的抱怨。他们于2003年在256MB的机器上用很慢的Ruby开发了Rails以及Basecamp,并自给自足地将公司拉扯到每年赚几千万美金。 软件开发维护运营的主要成本是人的工资,而不是机器的费用。做网站啥的,Ruby还是很够用的。GitHub网站也是基于Ruby on Rails的,等能够做到GitHub的规模了(全球访问量前100),再来抱怨Ruby的慢吧。

2016/05/19 第584期

使用功能开关而不引入technical debt

文中的办法不错:建立俩branch,一个加功能开关,另一个删除;先merge加功能开关的那个branch,上线代码;过了一段时间,确认可以删功能开关了,就merge第二个branch。 使用feature flags(功能开关)最终会在代码里留下一堆if .. else,上线功能大半年后早已忘记功能开关这回事,即使记得也懒得去删、或者没把握删除后会不会引入bug。文中的办法好处在于,加功能开关的时候,已经熟悉部分代码,删除的时候很有信心,顺手删除,为以后节省时间。

深入浅出Postgres内存管理

其实讲得还不算深入,但对大部分人来说了解这么多就足够了。了解一下常用数据库的运作原理以及如何配参数优化性能是很有用的,可以省却很多花里胡哨难以维护的“性能优化”的应用程序的代码。 以前做过一个项目,本来要在应用程序代码里加入缓存的机制(用memcached之类的),做好了写一堆恶心的cache invalidation的代码的心理准备,即将为公司花掉很多钱(工程师时间乘以时薪)。后来benchmark了一下,发现啥cache都不用,直接依赖postgres自己的buffer management效果就很好了,因为workload很predictable。快糙猛的解决方案:)

失败是成功之母

在某个计算平台取得巨大成功的,很难把成功复制到下一个计算平台。反倒是在上一个主流计算平台失败了后,才能重头开始、抛弃旧思维、创造性地思考下一个计算平台的事情。举了微软、苹果、亚马逊为例 微软:PC成功,手机失败;Apple:PC失败,手机成功,手表半死不活;Amazon:手机失败,Echo(智能家电?)成功。当然现在说Apple Watch失败或Amazon Echo成功,都还太早。 文中对比了鼎盛时期的Apple推出智能手表与微软在极盛时期的90年代推出Windows CE,看上去两家公司都占尽了下一个计算平台的先机。微软用桌面操作系统的思维做手机操作系统,Apple Watch看上去也是智能手机的简化版。

配置文件的出错信息必须准确易懂

广泛使用的软件工具(尤其服务器类的)或多或少有配置文件,有独特的语法。在配置文件中引入错误很不好排查;软件工具作者们很多都没在出错信息上花心思,要嘛没有出错信息、要嘛模棱两可。

公司里真的需要那么多员工吗

所谓10x engineer(以一当十?),只是他们有10x的机遇、有10x的自由发挥创造的机会;如果公司处处提防他们、不给他们机会、让他们束手束脚、大材小用,人浮于事的情况就会出现。 "A talented person with no opportunity produces 1x results. A talented person with 10x opportunity produces 10x results."

2016/05/20 第585期

Hillary Clinton竞选团队用到的技术

一年来,该团队创建了50个后台服务,20个前端app,237个git repo,15TB的数据仓库,捐款的网站大量的ab测试。用4小时快糙猛地搭出能发送上千万营销电子邮件的架构,省下了$70万竞选经费。 用运营互联网公司的技术与思维来竞选美国总统。

不要再用"连续创业者"这个词了

这是一种为了创业而创业急功近利的思维,快速做公司,快速卖掉,短短时间内就能收获"连续创业者"这个标签,然而并没有让这个世界变得更好。

暂停使用 Slack

现在仿佛所有公司都在用Slack(或者各种五花八门的群聊工具)。Vice的Motherboard网站的编辑们暂停使用Slack了,大家七嘴八舌太吵了,太容易分心了;鼓励1对1的深度交谈。

如何寻找,面试并成功招到最好的产品经理

文中先澄清了啥是产品经理,好的产品经理有啥特质,给出几个好的产品经理的典型简历(大学专业工作经历等),也列出了一些面试题以及好答案与坏答案,让candidate做presentation应该考察的事项。 文中面试PM的问题大家可以尝试回答一下(先别看文中答案哦):1.介绍一个你认为设计得很牛逼的非软件产品;2.在浏览器输入yahoo.com之后发生了什么;3.讲讲你曾经与工程师设计师意见不合的情况,你怎么处理的;4.无人驾驶汽车的出现会带来怎样的蝴蝶效应;5.最PM最无聊的地方是什么。

其实只有少数人用过Uber与Airbnb

生活在大城市,身边围绕着喜欢尝试新东西的在科技圈工作的人,看着铺天盖地的媒体报道,就误以为诸如Uber或Airbnb之类的线上服务已经成为主流了。当然,换一个角度看,这些公司都还有很大成长空间。 看上去这些酷炫公司已经推进国际市场,但即使在美国本土,仍然很多人没用过,甚至没听过这些酷炫公司。

2016/05/21 第586期

Google’s Go-to-Market Gap

针对今年Google I/O有感而发的唱衰Google的文章一篇。Google技术确实很强,产品做得确实很好,但历史证明,最好、最强的产品往往不是商业上最成功的。大部分不懂技术的人只需要足够好的东西,就够了。 超强的Google Maps与iOS自带的很烂的Map;非常智能的Google Assistant与iOS自带的可能不那么智能的Siri;非常智能的还要很久才能开卖的Google Home与Amazon已经卖了很久的可能不那么智能的Echo;非常智能的Google新的聊天软件Allo与世界上每个国家自己独特的不那么智能的聊天软件。

杜绝中看不中用的产品:Product Discovery

提出了所谓 product discovery 的框架来做出product market fit的产品:发现并理解透彻问题所在、探索评价各种解决方案、排优先级实现功能。先好用,再好看。 但现实中太容易看到反例了。以前有提过:很多线上媒体什么都好,一流风投、精美的网站与app设计、在地铁做广告,唯一不好的是内容。卖煎饼果子的摊位什么都好,地点好、大V推荐、支持Apple Pay付款,唯一不好的就是煎饼果子太难吃。

技术是如何劫持我们的思考的

列举了互联网产品的十种损人利己的、劫持用户的方法,旨在将用户留在自己的平台越久越好(比如让注销账户异常困难),让用户上瘾(如无止境地频繁刷新)。 参见 LinkedIn 暗黑模式。

程序员如何在电话会议中偷懒

这是Splunk的工程师在hack week做的项目,使用IBM的Watson API将语音转成文字。在电话会议中假装全程参与,偷懒做自己的事情;直到有人提到自己的名字了,再回到麦克风前:) 有个Python脚本使用IBM的Watson API将语音转成文字,监听电话会议的语音;当有人提到自己的名字,脚本在Hipchat上通知他,并自动发送之前30秒的对话文本内容给他,15秒后播事前录好的语音:“不好意思,麦克风忘开了”;此时,他已有足够时间回到麦克风前应付会议:) 该项目在 GitHub 上开源了。会写程序真是一件不错的事情。

Twitter与Facebook用多少股票来留住员工

分析了两家公司今年Q1的财报。Facebook给员工的股份价值占当季盈利的13.8%,而Twitter是25.4%;Facebook给员工的股份的78%给研发人员,11%给营销与销售人员,而Twitter是50%给研发,31%给营销与销售。 看上去Twitter给营销与销售人员的股份比例很大,可能他们这些人拿的现金比较少?

2016/05/22 第587期

优秀的程序员是完全可以有编程之外的生活的

尤其是单身年轻人聚集的创业公司,往往会认为好的程序员在工作之外一定要做side project,一定得为开源社区做贡献。他们还没到有家庭的年龄,也还没意识到时间与生命的宝贵。 现实点,有多少人愿意免费贡献自己的时间(生命)为开源社区做贡献,还要与网上陌生人吵架(开源社区里吵架是很普遍的)? 一个程序员只利用工作时间,怎么不断提高自己?可以去开技术会议充电,有效利用工作时间向同事学习或者结对编程,在公司内组织reading group与时俱进读好书读学术论文,在公司里尝试新技术做小工具提高工作效率等。现实中确实见过不少朝九晚五家庭第一的优秀程序员的,他们工作时候不那么开小差,有效利用时间。

DaaS: Disney as a Service

本文猜测迪士尼将会推出一种付费订阅服务,一次订阅即可享受以迪士尼优质内容为中心的整个跨平台生态系统的服务:电影,动画,书,迪士尼乐园门票,玩具,游戏等。 若此预言成真,将印证了创始人Walt Disney在1957年的布局,如文中的手绘图所示。

Consensus vs. Collaboration

如果一个决策需要所有人都同意(consensus),那这个决策往往旷日持久无法通过,即使最后通过了,也是因为有些人忍受不了低效的做决策的流程,不得已让步言不由衷地同意。

做网站的最佳实践反而让手机浏览网页性能更差

文中主要批评了过度使用lazy loading,手机在网速慢的时候浏览网页,加载了一部分,然后用户与网页的内容互动,然后再加载剩余的部分,此时用户浏览到的部分已经跳动然后错位。

Fix error handling first

代码有bug、出错了,别急着修复bug,应该先保证error handling的代码是有效的。若先修复了bug,就不好测试error handling是否正常,而且也没动力弄好error handling了。

2016/05/23 第588期

纪念碑谷2周年的数字

两年以来,各平台下载量2600多万,收入$1400多万(73%来自iOS)。单天收入第二高$69484是发生在纸牌屋第三季播出后,美国总统在剧中玩该游戏。纸牌屋编剧自己找上门来的,天上掉馅饼:)

我讨厌open source这个词

很多人很多机构都声称自己在做 open source 的东西;但根据 open source 的定义,你得有一个 license才算open source;GitHub上80%的项目是没有license的,那算开源吗?

Apple做智能手表的原因

这是一种猜想:伟大的Steve Jobs在晚年与癌症作斗争的过程中,意识到医疗系统技术落后;这某种程度上影响了Apple高层的决策:要做一种设备方便人们监控自己的健康状况,这就是Watch。

非盈利性质的媒体

如今信息爆炸,但越来越难找到好的内容。一个不太赚钱的媒体公司里的领着低薪的编辑,有什么动机去弄出高质量而不哗众取宠的内容?如果媒体的运营像美国私立大学一样,有个基金会靠捐款以及投资来维持日常运营,将盈利与内容的生产分离,如何?

检验你是否对现在的工作满意的框架

很不错的思考。问问自己是否 inspired(工作中受同事领导的启发?), useful(确实有为公司带来价值?), respected(同事理解自己带来的价值?), growing(每天进步一点点?)

2016/05/24 第589期

为什么在互联网战争中Google战胜了Yahoo

因为Google对自己解决的问题理解得很透彻。文中从后台存储技术的角度来看:Yahoo走捷径,购买很不灵活且很昂贵的NetApp存储方案;Google用了4年开发高质量灵活便宜的GFS。 走捷径的雅虎,每开发一种线上服务,都得去迎合购买来的不灵活的存储方案;而Google的GFS是自己开发的,对这套系统知根知底,各种不同线上服务都直接或间接用GFS,在GFS有点小改进了,所有线上服务同时受益。

每天写一千字

每天早上写一千个字,writing is thinking。这可以保持自己创造力,以最佳的思考状态开始每一天。当坚持一段时间后,自然就有无尽的素材可以写了。

Palantir的根本问题在于数据科学这个领域

理想情况下的数据科学是按一下回车自动生成一份报告让你知道你原来不知道的事情;最原始的数据科学是劳动密集型的活动,纯手工操作。现实中的数据科学则是趋向于体力劳动的半自动化的操作,且需要大量的行业知识(比如分析帮可口可乐公司做分析,你得很懂饮料行业)。 Palantir本质是这种半自动化的生意,他们仍然能赚钱,但显然不是典型的硅谷式的大量自动化非常scalable的生意,估值确实过高。

制作虚拟现实成人游戏的幕后

有一点点办公室不宜:)所有成年人都知道虚拟现实的一个重要应用是porn。本文带我们领略一下拍摄现场,以及各种道德方面与未来发展的讨论。

避免黑莓的命运

在iPhone出现以前,黑莓手机专注于商业用途:电子邮件+打电话,看起来势不可挡没有衰落的迹象;iPhone出来后,手机用户对智能手机的期许是个人用途:app+庞大的开发者群体,看起来也是势不可挡;慢慢地,如果手机用户对手机的期许转变成了人工智能个人小秘书,Google们是准备好了,但iPhone准备好了吗?

2016/05/25 第590期

成为FBI的武器与梦魇的乌克兰黑客

继丝绸之路之后,又一个具有拍好莱坞大片潜质的素材。年轻的乌克兰黑客,向FBI自首,被FBI利用成为卧底,与FBI探员的微妙友谊,VMware源代码外泄,勒索VMware母公司EMC。文章很长,很精彩。

沉没成本谬误

沉没成本:已经做了金钱或感情投资了,且收不回来的成本。谬误:已等了60分钟公交车了不差再等15分钟;已花钱点餐吃不下很难受也要吃完;已交往5年了虽然不爱但若分手多可惜;已玩了3周开心农场,虽已觉得无聊但不继续玩就对不起已经花掉的时间;该项目已投入2年开发,虽然明知没前途但若停止开发就对不起这两年的投入。看出规律了吗? 面对沉没成本,你的判断已经不理智了。

软件开发中的 deadline 应该怎么定

把大项目分成一堆5天内能做完的小任务;排小任务们的依赖关系看哪些可并行做的;明确定义怎样才算项目完成。对小任务的大小,有人喜欢用t-shirt的size来定(xs,m,l,xl等),每个size对应一定的天数,方便计算。

将软件开发外包出去的注意事项

为了避免花大钱雇全职开发人员,创业者们很多都将开发任务外包给海外的开发人员(详见电视剧Silicon Valley第三季第五集)。有了原型验证了idea骗到风投了,再招全职员工重写一遍。 主要的教训:一分钱一分货,不要妄想花吃麦当劳的钱又能同时享受The Ritz-Carlton的服务。

你其实不需要更多自由支配的时间

有工作的人与没工作的人都是在周末最快乐。有工作的好理解,周末不用工作嘛;那没工作的怎么解释?人是社会性动物,没工作的人到了周末可以找有工作的人玩啊(家人朋友),所以快乐。

© Licensed under CC BY-NC-SA 4.0

别向医生和律师提供错误的消息。—— 本杰明·富兰克林

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

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