湾区日报文章第63辑

2016/06/26 第621期

Rob Pike 得到的最好的编程建议

当年他刚加入贝尔实验室不久,与 Ken Thompson 结对编程。从 Ken 身上学到:发现 bug 时别急着动手 debug(加 print 语句或调用 debugger),不然容易只修复了局部问题;应该跳出来一点,全局思考大的模型大的系统的设计有什么问题,为啥会引入这个 bug。
"Ken taught me that thinking before debugging is extremely important. If you dive into the bug, you tend to fix the local issue in the code, but if you think about the bug first, how the bug came to be, you often find and correct a higher-level problem in the code that will improve the design and prevent further bugs."
一人一首成名曲:Rob Pike 其实是多首成名曲-- UTF-8 联合发明人,Go 语言设计者之一,30年来经久不衰的 The Unix Programming Environment 作者之一。

反击烦人的 recruiter

创业公司 42floors 的反击:哪个无良 recruiter 敢来骚扰他们,就扔给那个 recruiter 一电话号码,recruiter 打过去后会听到一段很长的事先录好的录音。
不只是工程师们整天被很多第三方的 recruiter 们骚扰,公司的管理者们也受不了了。LinkedIn 的出现,催生了很多野生的 recruiter;这些 recruiter 既要骚扰可能要找工作的工程师,又要骚扰可能要招人的公司们。

迁移到 Medium 的线上媒体们

有不少线上媒体完完全全迁移到了 Medium 上,他们只要专注于生产优质的文字内容与盈利,技术方面的事情都交给了 Medium。
寄居在Medium上的媒体们如何盈利?如果自己谈下的广告,不用跟 Medium 分成;如果是通过 Medium 联系的广告,就要与他们分成;Medium 也将付费订阅开放给了一些 beta 测试者。广告放在哪?一般是软文或者放在文章底部,手动添加;虽然麻烦,但避免了广告拦截软件的屠杀:)

JSON Web Tokens (JWT)

一篇介绍 JWT 的科普文章,写得很清楚。见过一些成长中的创业公司用 JWT 来实现验证用户身份的 microservice,其他 service 的后台就不用存储 session,之后的每次请求都传一个 token 就行了,真正的 RESTful,无状态化:)

每天集中精力的一小时

不要抱怨时间不够用,每天腾出一小时,没有干扰地集中精力地做事情(看书,做 side project 之类的)。怎么腾出这一小时的时间?可以提早起床一小时,或推迟一小时回家避开交通堵塞同时去附近咖啡店。一小时看起来很少,你今天肯定也不会比昨天进步到哪里去;但几个月后就看出明显效果了。
我的每天1小时(通常是2,3小时)就是湾区日报,如果我不做湾区日报的话,可能就是看电视剧玩个游戏之类的;做这件事600多天了,竟然写了60多万个字,整体质量不高,但字数惊人;我这么一个不以写字为生的人,竟然能写60多万个字;副作用是,我多知道了不少八卦知识,视野稍微拓宽了一点点,对我的整个人生轨迹尚未有任何本质影响,但至少感觉不算虚度年华。

2016/06/28 第622期

Uber 的司机到底能赚多少钱

BuzzFeed 根据 Uber 外泄的内部文件分析了普通 Uber 司机的时薪:扣除油费后,每小时 $8.77 到 $13.17,不同城市的数据不同。比沃尔玛员工还低,而且还没正式员工的福利;但开 Uber 时间灵活,不用准点上班,比较自由。

如何避免 Stack Overflow 成为一个垃圾场

Stack Overflow 上的三类烂人:1,懒得搜索,总是提问,从不贡献答案的人;2,"我不想知道原理,直接给我答案"的伸手党;3,荣誉收集者,回答简单的重复的问题,让简历漂亮。
社区问答类网站发展到一定阶段后,问题或答案的质量不可避免地逐步下降。

SaaS 商业模式

比较通俗易懂地解释了 Software-as-a-Service (SaaS) 商业模式。这种商业模式的优缺点,如果你要购买 SaaS 网站该注意哪些地方,如果你要卖你的 SaaS 网站又该注意些什么?

10 条实用的创业公司营销建议

乍看很像标题党的文章,但内容很中肯;real talk,no bullshit。很赞同最后一条:多联系同行,互通有无,互相学习,毕竟干货是很难在网上公开的博客上能找到的。

为何 Google 将大部分代码都放在同一个 repo 中

来自 Google 的大规模代码管理的经验之谈。monolithic repo 便于代码复用,公司范围内不同团队的人都能方便地学习以及改动所有代码,尤其是改动不同平台的代码,一个 commit 就搞定了。
除了 Android 等开源项目外,Google 内大部分代码都在同一个 repo 中。这个 repo 的代码有 86 TB 之大,20 亿行源代码,共 3500 万个 commits;25000 个工程师都能访问大部分代码(除了排序算法之类的商业机密外)。

2016/06/29 第623期

Mixpanel 联合创始人的融资建议

在09年经济不景气之时,Mixpanel 融资不顺,连续被15个风投拒了;在还剩下1周的钱的时候,Max Levchin 及时投资了他们,续命成功。文中讨论 dumb money 与 smart money 的部分挺不错的。

Why Branding Is the Next Essential Startup Competency

大家都在谈论如何做好产品,都忽略了建设好的用户信赖的品牌的重要性。如今产品同质化很严重,就靠品牌来区分了。
"Ultimately, the brand may become half the value of the company and the true differentiator in the market place. That’s nothing to sneeze at."

来自 Bill Gates 的电子邮件

这是一篇现在读起来有点奇怪的 1994 年的纽约客的关于 Bill Gates 与微软的长文,那时候电子邮件在学术圈以及软件公司之外的使用还不是很普遍。作者刚接触电子邮件不久,并与当时38岁的世界首富 Bill Gates 成了笔友;全文由电子邮件为线索展开

Amazon 的 Echo 与 Alexa 确实不错

作者从一个用户的角度,历数了他喜欢并看好 Amazon Echo 的理由。 这一类产品还没有一个广泛认可的名字,还在起步阶段。有一个问题他没考虑到:隐私!这是放在家里的设备,时刻监听着所有声音,包括你口中说出的每一句话,细思极恐啊

写高质量代码的基本准则

代码质量高低,无非就是人的心理上的主观感觉:觉得复杂难懂?看着就头疼难以下手去重构?作者总结了5条写好代码的基本准则,适用于任何编程语言,让接触到这份代码的人心理负担小点,心理上好受点

2016/06/30 第624期

3种类型的产品经理

Builders:在现有产品基础上加功能的;Turners:类似 growth hacker,争取尽量多的用户;Innovators:开创全新产品类别。

Facebook 如何做在线直播的

150 个工程师在做 Facebook Live。视频直播的访问量大起大落,涨得快降得也快。Caching + load balancing。性能测试,能承受10倍的 production 访问量。

App Store 的搜索广告会让有钱人更有钱吗

iOS 10 的 beta 版就能见识到 App Store 的搜索广告了。有钱的大公司能砸钱做很多搜索广告,他们的 app 会更多人下载,独立开发者们没那么多钱做广告;那么,有钱砸广告的又多了一个砸钱的地方了,App Store 生态圈的贫富差距会不会越大了?

重新上线旧产品

这里的产品可以是书,软件,在线课程等。中心思想:不断迭代才能做出叫好又叫座的产品。Success is not about invention. It’s about iteration.
在即将放弃已有产品,想转做新产品时,问问自己:有没有需要用到我的产品的人还没听过我的产品?有没有人听过了我的产品且有可能购买但还没掏钱的?这个产品做超过一年了吗?
做东西很容易,但让别人肯用是很难的;即使让别人听到你产品的名字,都难。我经常拿 LinkedIn 说事:我大概 2009 年才听过 LinkedIn 这个网站的,但它其实是 2002 年成立公司,2003 年上线;为什么我等到 2009 年才听过它?这种创业团队不错,又有很多知名风投撑腰的公司尚且如此,其他没钱没名气的创业团队做的东西就更难让别人听说到了,别说用了,连听说都难。

2016/07/01 第625期

人工智能的歧视问题

计算机程序是人写的,机器学习所训练的数据是人挑选的,界面是人设计的,只要人存在偏见,存在种族歧视性别歧视年龄歧视,那么,代码也会表现出偏见与歧视。
比如 Google Photos "智能"地把黑人归类为大猩猩,Amazon same day delivery 不适用于黑人区,网上的广告里很少把女性形象作为高收入的人群进行展示。

必须成为混蛋才能成功吗

一篇很好的探讨 ego (自负,以自我为中心)与 confidence (自信)的文章,主要针对创意工作者而言。做有创造性的工作必须与外部世界,与其他人互动,ego 太强的人容易自欺欺人脱离实际情况。
"Confidence is based on what is real—it is earned. Ego is based on delusion and wishful thinking—it is artifice. Confidence doesn’t alienate us from others. On the contrary, it allows us to relate to others better—because it has removed insecurity and fear from the equation. When you are confident you can be empathetic and vulnerable. Ego makes us an asshole. Confidence—as anyone who has ever stepped foot into any martial arts studio can tell you—has the opposite effect. Confidence is calm, compassionate, curious, careful. That is: it is all the things one needs to be creative."

抄袭竞争对手的产品

本文是主要针对 SaaS 产品来说的。不是指直接复制粘贴别人的html与css之类的盲目的界面抄袭,而是思考:如果做同一个产品,如何做得更好更快并提供免费版本?本文也给被抄袭者提供了建议。

Apple Watch Inc.

在 2016 年 WWDC 之前,似乎人们已经对 Apple Watch 失去了信心,贵又不实用。但作者根据各种蛛丝马迹估计 Apple 大约卖了 1200 万个 Watch;如果 Apple Watch 是一家独立公司的话,值 $100 亿。

采访 Yahoo 的第一个员工

YC 开始了一系列采访科技公司早期员工的文章。早期员工某种程度上像投资人;早期员工需要评估创业公司的产品与创始人,然后投资自己的时间与金钱(牺牲去大公司才能有的高收入)去创业公司工作。
本文是对雅虎第一号员工 Tim Brady 的采访。他是杨致远在斯坦福 EE 的本科同学,毕业后在当时很牛逼的摩托罗拉公司工作,看看自己的老板与自己老板的老板所做的工作,太无趣了,不想成为他们;于是就去读哈佛商学院,读到第二年的时候杨致远电话他,邀请他加入雅虎;他帮雅虎写了商业计划书,帮雅虎卖出了第一批广告:除了首页外每个页面都放广告,一共5个广告商,每个广告商各收$100万,这5个广告投放了一整个月。

2016/07/02 第626期

把市场做小

一篇 2006 年的来自风投的老文章。好的创业 idea:开创新市场的同时,将旧的市场变小;自己每赚$1,在旧市场的低生产力的公司就要亏$5。例子:电子版百科全书与纸介质版百科全书;Uber与传统的出租车公司等。

成为更好的开发者

工作后如何找时间提高自己的技术水平?本文给的建议不错。没必要追逐潮流去学很多酷炫的新语言、新编程框架;写好代码往往比写垃圾代码花的时间要少;要学会评估值不值得花时间。

公司里的项目默认是开源的

如果公司里的绝大部分项目是开源的,工程师们一想到自己的代码全世界都看得到,会不会更用心一点,提高代码质量?由于是全世界任何人都能用,你就会努力简化配置与安装的过程。公司外的代码贡献者相当于免费劳动力;而且帮助公司外的开发者过程中,自己的水平也会提高;开源项目还是招聘的一个重要渠道。

争取每年被拒100次

写给年轻作家们看的,每次给杂志投稿被拒都是一次成长的机会。人生总是充满了 rejection 的,每个人都害怕被拒绝,只要不会死,脸皮磨厚点,摆正心态就是了。
定下被拒的次数为目标,有点像之前推荐过的"失败的简历";正常的简历以收集自己的成功与荣誉为目标,而失败的简历则是收集自己失败的案例,让自己实际上变得更强。

Apple 拒了 Spotify 最新版的 iOS app

iOS app 的内购都得使用 iTunes 支付,Apple 从中提成 30%,这就是为什么 Spotify 在其 iOS app 里付费订阅比在他们网站上的要贵一些。Spotify 在 iOS app 里鼓励用户到网站付费,别在 app 里交钱;这违反了 App Store 的规定,所以被拒了。
可以把这个事情解读为 Apple Music 打压竞争对手吗?还是 Spotify 自己违规但却上纲上线?

2016/07/03 第627期

The “Other Side” Is Not Dumb

所谓 the other side 就是与自己品味不同、看法不同的人。我们懒到不愿意去试图理解这些人,鄙视他们会比去理解他们更省事一点,所以我们在网上嘲讽与我们看法不同的人,尽管我们往往是错的一方。
Don’t try to “win.” Don’t try to “convince” anyone of your viewpoint. Don’t score points by mocking them to your peers. Instead try to “lose.” Hear them out. Ask them to convince you and mean it.

Product Scope : Goodbye Features. Hello, User Scenarios

不要堆砌产品功能,功能多的产品往往很难用,也不好开发与维护。应该深入研究与理解用户情景,5个W:who, what, where, when and why。

互联网对我们思想与行为的负面影响

在网上我们都有虚拟的身份,很容易修改自我形象,比如美图与各种撒谎;容易自恋、自大,产生幻觉以为自己比现实中更了不起了。由于网上很多场合是匿名的,所以人性丑陋一面就展现出来了,文字变得恶毒极具攻击性。

微软收购LinkedIn的时间轴

Recode 综合各种小道消息,分析了微软收购 LinkedIn 的 SEC 文件,猜测文件中提到的想买 LinkedIn 的匿名公司们:Google、Salesforce、Facebook。
本文试图还原这一收购的时间轴:2月5日,LinkedIn 股价降40%;2月12日,LinkedIn CEO 振奋公司士气的演讲;2月16日,LinkedIn CEO 与微软 CEO 聊了一下产品整合的可能性;然后 LinkedIn 显然进入了出售的状态,与Salesforce、Google、Facebook都有不错的互动。Salesforce最后出价一股$200,但需要现金与股票混合;微软出价一股$196,全现金。我们已经知道结果了。

Podcasters 谈如何上线一个 podcast

与其他的内容媒介(如博客、视频网站的频道)类似,上线 podcast 最重要的部分:高质量的内容以及坚持不懈地更新。什么时机上线最好?现在!反正是要不断迭代不断改进的。最难的地方:有人捧场,有听众。

2016/07/04 第628期

Zenefits CEO 发给公司员工的说明裁员106人的邮件

又到了“CEO 范文时间”:)作为CEO,你要在邮件里向公司员工传达裁员106人、欢迎大家主动离职的信息,同时邮件里仍然要表现出公司欣欣向荣的景象,前景一片大好。这封邮件该怎么写?
这就是 「The Hard Thing About Hard Things」里说的 wartime CEO,选困难的游戏模式;与之对应的是坐享其成、前人种树后人乘凉的 peacetime CEO,相当于玩游戏选最容易的模式的。

管理 Technical Debt

非常全面地介绍 technical debt 的文章,并非所有的 technical debt 都是不好的,有类似现实生活中借贷的地方,如贷款买房很正常;软件工程也是充满了时间金钱人力资源计算性能等的 trade-off。程序员,产品经理,以及公司管理者们都应该好好读一下本文。
现实中,创造 technical debt 的人与最终清理 technical debt 的人往往不是同一批人。公司会投入一流的工程师开发新项目,这帮人为了赶进度,偷懒,埋下不少定时炸弹;项目完成后,一流的工程师们又去做其他新项目了,然后二流的工程师们就要做维护工作,擦别人的屁股。
本文作者是 Eric Allman,一人一首成名曲:他的代表作是 sendmail 与 syslog,也是当年 BSD Unix 代码贡献者。他的丈夫 Marshall Kirk McKusick 与他相识于伯克利研究生院,也是当年 BSD Unix 的主力开发者;Marshall 的 Fast File System 的论文是很多系统领域的 PhD qual exam 要求必读的论文。二位堪称系统领域的神雕侠侣。

Crafting the first mile of product

这里 first mile 指的是一个新用户刚接触到你网站或app的前10几秒的体验,比如宣传页面,注册账号的流程,教程等。大家都精心打造产品的核心功能,唯一的问题是,世界上大部分的人还没接触到你的产品的核心功能就已经放弃了,用户是很懒的。

AWS 是怎么来的

Amazon内部的产品团队们曾经各自花大量时间做一些功能重叠的infrastructure的东西。到了2000年左右,内部infra的service们开放api,减少了重造轮子的情况。2003年他们意识到Amazon除了擅长卖东西外还擅长管理大规模的infra,或许是个商业机会。于是2006年推出了AWS。
若干年后,后知后觉的其他大公司们也在cloud上奋起直追。很多东西回头看都是显而易见的,但当是时,没多少人能看清;到了其他凡人都看清了,就太晚了。

指尖上的手机

对人们使用手机的情况进行了研究:正常人每天平均使用手机76次,47%的使用是在locked screen,比如看推送的消息,跳到下首歌等;大部分情况下只用少数几个app;触碰手机屏幕2617次,包括点击滑动等动作。

2016/07/05 第629期

走出失败的阴影

本文是来自 Fab 的创始人 CEO 言辞恳切的自我反省。后世书写本轮科技泡沫历史的时候,一定要大篇幅提及 Fab 这家公司,2010年成立,巨额融资快速扩张,迅速成为独角兽,大规模裁员,公开承认创业失败。
作者的一些观点很不错:1,硅谷都在庆祝失败,对失败很宽容;但是,并不是所有失败都是值得庆祝的;创新失败是值得庆祝,但执行力失败是不值得庆祝的。2,在没有找到可持续发展的扩张与盈利之路时,不要巨额融资;融资越多,投资人以及外界对你的期望与压力就越大,大家盲目自信盲目扩张,订出不切实际的目标。3,引用了 Jeff Bezos 的话,"如果你做的事是有意思的,就会有批评的声音;如果你无法容忍批评,就不要做新的有意思的事",把"批评"换成"公开的失败"也适用,众目睽睽之下的创新与创业极有可能会失败,会很公开地人尽皆知的失败,如果你怕了,就不要创业。

增加产品页面转化率的最佳实践

尤其是电商网站的产品页面,怎么增大用户点击"购买"按钮的概率?可以把本文提出的12个建议当作一个 checklist 去实现,主要是要赢取用户的信任,他们才会掏钱。

丑陋的大学网站

作者在 Twitter 上做了问卷调查,看看大家对大学网站的看法。大学网站的设计是网站设计的绝佳反面教材,难用,信息过时,手机上不能看,需多次点击,传达出"我们不在乎本校的网络形象"的信息等。

机器里的幽灵

这是试图解读何为 Snapchat,为啥它会那么火的文章。很多年龄比较大的人很难理解这个看上去很无厘头的 app。Snapchat 专注的是当下,内容会过期会消失,在 Snapchat 里发内容心理负担比较小。
相反,在 Facebook 与 Instagram 里发内容,心理负担比较大,每个图片每句话都得斟酌半天,都要呈现出最完美的自己,因为仿佛这些内容一旦发上去了,就属于你网络身份的一部分,会存在很长一段时间。于是,有个趋势:在 Facebook 与 Instagram 上分享个人家庭相关的内容变少了,而媒体新闻各种营销内容增多了。

高级编程语言

Matt Might 是犹他大学编程语言领域的教授。在这篇文章中,他推荐了几个适合拓宽视野,陶冶情操,不带功利目的且适合自我教育的编程语言:Haskell,Scala,Standard ML,OCaml 与 Scheme。
谈一点个人经历。以前读书的时候做过一门编程语言课的TA,那门课教了几种不适合找工作的语言,比如SML与Prolog;我自己也得硬着头皮去学这些语言。几年后,我竟在工业界的工作中用上了Prolog,简单几行代码解决了问题。或许这就是 Steve Jobs 所说的 connecting the dots。往前看,你不知道现在所学所经历的事情对未来有何用处;但回头看,你却能很容易将过去的点点滴滴串起来。

2016/07/06 第630期

用户,目的,场景

文章介绍了简单实用的设计产品的框架:先想清楚用户,目的,场景三者分别是什么,产品的功能与用户界面自然就浮现出来了。文中举的交通工具的例子挺不错的。这个框架适用于团队内部统一思想。

From not working to neural networking

来自 The Economist 的介绍人工智能/机器学习现状的科普文章,没有技术背景的人也能了解一下。AI 现在很火啊,就差请 AI 研究人员上综艺节目/真人秀节目了:)

A Manager’s FAQ

给公司里经理的建议,非常精辟,总结得很到位。尤其是 subtitle 的自问自答。理想状况下应该让手下的员工在工作中扬长避短;但时间有限,扬长与避短只能二选一,选扬长;西方教育小孩也普遍这种思想。

如何给专投早期创业公司的投资人发邮件

Y Combinator 的 partner Michael Seibel 给的建议。邮件只说三句话:1,简单解释你做啥的;2,告诉我为啥我要对你的东西有兴趣;3,你要从我这得到什么(创业建议,投资等)。
满分作文示范:"My name is Tim and I’m building Twitch for cooking. I previously ran programming at the Food Network and my technical co-founder is a college friend. We’re working on our mvp and were wondering whether we should build out private messaging in addition to group chat or just group chat alone."

自动化更突显人类劳动的值钱

都在讨论机器人与人工智能要取代人类的工作,但仍有很多工作人类比机器更胜任,有些人更愿意花大钱去买其他人类的服务,而非机器的服务。
文中举例:像星巴克这种低端没特点的咖啡店都让店员故意放慢做咖啡的速度,人们到星巴克不只是为了买一杯咖啡的,而是一种体验;更不用说其他有特色小众的咖啡店了,做咖啡很慢,又卖得贵,但有人就是喜欢去;当然,用机器自动快速冲咖啡而且又卖得很便宜的地方有的是。

正文完
 0
评论(没有评论)