湾区日报文章第60辑

目录

2016/05/26 第 591 期

不理解编译器工作原理的人不算优秀的程序员

Steve Yegge 的超长咆哮式的文章。他认为大学计算机课程里,编译器原理是能将其它课程知识点串起来的;如果不理解编译器工作原理,就相当于不理解计算机工作原理。
做编译器用到的技术可以用来解决现实工作中的很多问题,他在文中举了不少这样的例子。

Google 推出 Allo 是一大退步

聊天 app 的杀手级功能就是 "我所有的朋友都在用";除此以外,其它花里胡哨的功能都只是锦上添花而已。Google 已经有足够多的聊天类的产品了,直接把用户绕晕。

用 NumPy 做科学计算

简单介绍了 NumPy 的使用,数组的表示,基本操作等。主要用于提起像我一样的人对 NumPy 的兴趣,很久以前就听过 NumPy 了但一直没机会用上。

Above Avalon Is Officially Sustainable

Above Avalon 是一个人运营的专门分析 Apple 这家公司的博客,读者们每个月付 $10 或每年付 $100 订阅。运营一年,达到 sustainability;文中没有公开收入数字,但至少能达到工作时候的工资水平吧。
当然,付费订阅的用户除了能读到原创的文章外,还能加入 Slack 与其他付费读者互动。付费是一个门槛,跨过这个门槛的读者群体的个人素质应该会比较高,他们也乐意与其他同样高素质、有同样爱好的读者们互动。

付费订阅 Podcasts

美国每月有接近 5000 万人听 podcast。智能汽车与智能家电很大地促进了声音内容的发展,解放双手与双眼。内容生产者怎样才有足够的动机生产好内容?读者或听众掏钱,而非广告商掏钱。

2016/05/27 第 592 期

对事不对人的事故分析

在任何行业任何公司,人为错误都是不可避免的。Etsy 的这篇博文里有个点不错:如果员工知道犯错了不会受惩罚不会受到羞辱不会被开除,不小心犯错的员工就比较可能敞开心扉地帮公司总结经验教训,说明如何出错的,当时的假设是怎样的,以及如何避免。

Usability 101

所谓 Usability 是指 UI 是否简单易用。设计新 UI 一般通过用户测试来保证好的 Usability。可以先用户测试旧的 UI 或竞争对手的产品的 UI,借鉴好的地方,摒弃坏的部分。

衡量创业公司是否靠谱

为 GitHub 贡献了 5 年青春然后被开除了的工程师写的。他通过自己在找工作的见闻,用诙谐的语言写出了如何在面试过程中尽早识别一个创业公司是否靠谱:承诺你能发财致富的,当着陌生人面背后批评管理层批评同事的,感觉形势一片大好不思进取的,无法客观评价竞争对手的。

59 个程序员会有共鸣的句子

有的句子纯属搞笑的,但有一些确实是一针见血、精辟、能产生共鸣的。One man’s crappy software is another man’s full time job:)

“We only hire the best”

DHH 讽刺当今科技公司自欺欺人的邪教组织式的招人策略与口号。所谓 best,可能只是申请该职位的人选里的 best,而非整个行业的 best。好的人才都很独特,并非公司条条框框的招聘条件所能筛选出的。

2016/05/28 第 593 期

Valve 的电玩帝国

两个没有游戏开发经验的微软前工程师在 1996 年创办了 Valve,没有外部投资,启动资金是以前在微软工作时赚的钱。第一款游戏是半条命,允许玩家们开发 mod;其中一个很火的 mod 叫反恐精英。
最终,Valve 推出了游戏购买平台 Steam,1.25 亿用户。

Numbers Don’t Matter, Influence Does

粉丝数多的未必真有影响力。某些社交平台上的粉丝(如 Instagram)确实是比其它社交平台(如 Twitter)的有价值,取决于粉丝们是否真的会去看你发的内容,并受到你的影响。

Developer Powered Innovation

非技术出身的管理者常会抱怨工程师喜欢造轮子,喜欢做给同样是工程师用的 "没用" 的开发工具。实际上很多工程师接触到的唯一用户也是工程师,所以乐意做解决工程师问题的工具。
若工程师有幸接触到真的最终用户,他们应该也能做 "有用" 的产品。问题是,很多公司千方百计阻止工程师与最终用户接触,所以工程师没法把自己做的事与最终用户联系起来。

The Business of Too Much TV

看有线电视的人变少了,但电视剧的数量却多了,因为网络视频平台发展起来了。本文分析了这一趋势下演员,编剧,制片人等角色的财路,信息量很大的长文。

业余时间拿一个博士学位

不错的故事。有家庭有 3 个孩子,工作之余拿了一个 part-time 的 PhD,前后大概 6 年时间,估计是不用上课,只做 research。拿 PhD 的过程中得到的训练:写作,表达能力,思辨能力。

2016/05/29 第 594 期

软件开发的穷人越穷的怪圈

穷人越穷的怪圈:穷人钱都用在了刚需上,没有闲钱投资;穷人时间都用在了短期利益上,没空闲时间投资自己的成长。软件开发团队也一样,开发任务繁重,没有时间精力投资在软件质量与开发效率上,把好开发者逼走,开发越来越没效率。

Peter Thiel 与八卦网站 Gawker 的秘密战争

2007 年,Gawker 发了一篇爆料 Peter Thiel 是同性恋的文章,从此 Peter Thiel 就暗中从金钱上支持所有要状告 Gawker 的人。一方面是高举言论自由大旗,另一方面是呼吁对个人隐私的尊重。

Google 与 90 年代的微软犯了同样的错误

90 年代的微软在 Mac 版上开发的 Office 长得跟 Windows 上的版本一样,与 Mac 上其它软件的 UI 长得不一样,让 Mac 用户不爽;如今的 Google 在 iOS 上的 App 采用 material design,与 iOS 上其它的 app 长得不一样。
Google,你在别人的操作系统(Apple 的 iOS)上开发 App,就不顾该操作系统上的用户的使用习惯,这样好吗?

MySQL 是更好的 NoSQL

Wix 分享他们把 MySQL 当作 key value store 来用的案例,性能上很牛逼,运维上很方便很稳定。文章最后总结将 MySQL 当成 NoSQL 使的最佳实践。

Trello 的本地化之路

本文描述了 Trello 将产品推向国际市场的一些手段与经验。测试非英语的本地化语言对转化率的影响,数据说话;发动海外用户将英文菜单翻译成本地语言;针对不同市场内容营销宣传造势。

2016/05/30 第 595 期

为何最好的公司与开发者们乐于分享他们的劳动成果

为什么他们愿意花时间写博客,开放源码,做演讲,发论文,让其他网民享用自己的劳动成果?什么东西应该公开,什么东西不该公开?为什么其他能力比较差的人或公司没法有这种开放的,乐于分享的心态?
为什么分享?1. 只有真的对某领域精通了才敢分享,这种压力迫使你进步;2. 要分享劳动成果,必然要保证质量,比如给代码写详细的注释以及写程序员都不乐意写的文档;3. 公开了后(比如开放源码),就有免费的 QA 给你找 bug 与免费的劳动力给你贡献代码;4. 这是一种营销行为,开发者的劳动成果能被潜在雇主所知,而公司也能展示自己团队的工程实力,便于招人。
工作后很多人到一定阶段都觉得自己技术水平遇到了瓶颈,不再进步了。文章作者很正能量:他每晚 11 点都会花几十分钟学习,看教学视频,看书,做 side project,学新技术。每天几十分钟,你今天可能没有比昨天进步多少,但每个月,每个季度,每一年下来,都会有显著进步,贵在坚持与积累。分享了自己的成果(写博客或开源项目)而没有人看没有人用?没关系,这些只是帮你进步的手段,你的个人的进步才是主要目的。

不用编程做出线上产品

很有启发性的故事:这是一个 Uber for X 的产品(为技术达人与需要技术帮助的人牵线),使用各种现成 SaaS(聊天,消息通知,支付等),快速实现 MVP 验证这个 idea 是否有市场,节省了好几周的开发时间(与金钱)。

将 iOS app 的设计移植到 Android 上是行不通的

有的公司追求让所有平台上的 app 长得一摸一样,这样做对用户与对公司内的开发人员都是残忍的。不同平台的 UI 风格与使用习惯很不同;相同 UI 控件在不同平台开发难度也不同。

程序员也是人,也需要简单的 UI

API 是程序员的 UI。简单合理易用的 API 设计至关重要;好的 API 的设计是需要花大量时间的,是一种创造性劳动。

What the AI Behind AlphaGo Can Teach Us About Being Human

采访了 AlphaGo 周边的人类,包括母亲是新加坡华人的 DeepMind 创始人,给 AlphaGo 当陪练的三届欧洲围棋冠军樊麾,AlphaGo 项目负责人 David Silver 等。
围棋爱好者 Sergey Brin 友情出场,他在 AlphaGo 与李世石人机大战时,在自己的棋盘上跟着比赛双方选手落子。

2016/05/31 第 596 期

Facebook 内部是如何用 Python 的

Python 是 Facebook 内部使用第三多的语言,仅次于 Hack 与 C ++。数百万行 Python 代码。今年以来每个月 1000 多个人提交 Python 代码;其中 5% 的 Python 代码是 Python 3。主要用于运维与各种 Infrastructure 自动化的工作。

响应式设计的真正挑战:RSS

RSS 的客户端们大多直接禁用了 CSS 与 Javascript,如果网页是响应式设计的,其相应的 RSS 在客户端上排版就乱了(尤其是图片)。文章最后给出了一些最佳实践的建议。其实邮件的响应式设计也类似,各种千奇百怪的邮件客户端。

100,000,000 games played

lichess 是一个法国程序员做的项目,有网站、iOS app 与 Android app,无广告,免费。该项目是开源的。从 2010 年运营至今。主要靠用户捐款以及卖项目相关的 t -shirt 来支付服务器费用。
本文公开的数字是去年的,有些老旧了。目前运营这样一个线上服务(网站访问量全球排行前 4000 名),每周需要 $262(2016 年 5 月 30 日),项目的开发者公开了具体的运营费用。这样公开透明的一个人独立开发的、全栈的(前端、后台、iOS 与 Android app、社区运营)项目,相当具有学习的价值。

The attention economy

你使用了很多免费的线上服务,这些线上服务真正的产品是什么?是你!是你的时间、你的注意力、你的使用习惯!这些线上服务把你的注意力、你的时间转手卖给广告商。

产品功能的三种类别

Consumer facing 的产品功能一般分成三类:用户请求的功能、能改进关键指标的(增长、互动、盈利)功能、用户意想不到的但很棒很有用的功能。
实现用户请求的功能,让用户感到对你这个产品的感情、金钱、时间投资是值得的;推出能改进关键指标的功能,让产品、让公司变得更好(更赚钱);推出用户意想不到的功能,让全世界知道你的团队是有能力创新的(如 Apple 常干这事)。作者是 Wealthfront 的 CEO,本文是他在 LinkedIn 做 VP Product 的时候写的。

2016/06/01 第 597 期

Dungeon Master

讲了一种现象:公司早期员工开发了一个系统,几年后该系统无法支撑业务增长,必须重写了;同时,开发该系统的早期员工已成长为小领导,但他对重写他的系统极力反对百般阻扰:重写?否定我的早期贡献?我以前写的系统有那么糟糕吗?
在创业公司,每个系统的寿命最多 2 年 3 年,每个系统都有自己的使命;到了某个阶段需要重写,很正常。有的人就是有很强的 ego,很敏感,很自负。btw,玩过龙与地下城的人,应该知道啥是 Dungeon Master:)

如何向 app 用户请求权限

几乎所有主流 app 都向用户索取这样或那样的权限(推送,联系人,摄像头等),但很多 app 很 "粗鲁" 地在 app 启动时直接弹出对话框,用户一头雾水,体验很不好。本文给出了 app 请求用户权限的最佳实践。

迪士尼的游戏事业一团糟

在这种大公司里做非核心业务一定很不爽,各种红头文件政治斗争。内部员工爆料,迪士尼内部经常性地终止一些游戏项目的开发,收购了不少游戏工作室然后迅速关掉。
可以理解,迪士尼手上有一堆现金,在拍几部星球大战电影与做几十个游戏之间,必然选择前者。

不要太担心你是一个差的程序员

相比于其他职业,程序员们热爱自己工作的比例应该相对较高,很多下班后还愿意动手写点与工作无关的程序。但,这毕竟只是一份养家糊口的工作,没必要上纲上线一定要真心热爱,take it easy。
没必要因为自己不是 5 岁就开始学编程或不知道某个酷炫编程框架而感到羞愧,更没必要死记硬背各种信息,用搜索引擎写代码很正常,一点也不可耻。

昨天的失败是今天的成功

一个创业 idea 的成功取决于很多因素(技术,市场,团队等)。最近几年很多创业公司都在回收 15 年前互联网泡沫失败的 idea。本文列出了现在比 15 年前进步的地方(智能手机,社交网络,网民乐于分享的心态等)。

2016/06/02 第 598 期

Mary Meeker 的 2016 年的互联网趋势报告

一年一度的互联网最有分量的『回顾过去,展望未来』的报告。

全球互联网用户 30 亿,增长放缓;没用互联网的人依然比用上了互联网的人多。智能手机价格虽然便宜,但在很多国家依然占了人均收入的很大部分。
宏观上看,全球经济发展放缓。
互联网广告前途依然光明,增长给力;Google 与 Facebook 一起占了三分之二的美国互联网广告市场;Snapchat 广告的互动性强,有趣,转化率高。
Millennials(生于 1981 到 1996 年之间的人)人口占全美 26%,人口最多的世代,他们伴随着互联网成长,即将成为最有购买力的人群。
基于视频的叙事、创造与沟通;基于图片发现产品,用聊天 app 的购物体验。全球手机用户平均装 33 个 app,每天用的有 12 个,80% 的时间花在 3 个 app 上。手机操作系统的首屏就像是以前的门户网站,而聊天 app 正在力争成为第二首屏,充斥着各种公众号,每个公众号就像一个小 app 或一个门户网站的频道。
人机交互每 10 年有一次大的突破,从触屏到语音。语音操作解放双手与双眼,向 always on 迈进一大步;99% 的语音识别准确度是普及语音操作界面的门槛。到了 2020 年,50% 的搜索将来自语音识别与图像识别。5% 的 Amazon 美国用户拥有 Echo。
中国第三产业的蓬勃发展,老百姓手中的闲钱多了;中国互联网用户 6.68 亿,网民们用在手机的时间里有 71% 是贡献给 BAT;中国在去年花在互联网广告的钱首次超过花在电视广告的钱;31% 的微信用户直接在微信里购物。
新一批互联网公司(如 Uber 与 Airbnb)的增长比老一代的互联网公司要快很多。全球互联网公司市值 / 估值排行:Apple($5470 亿),Google,Amazon,Facebook,腾讯($2060 亿),阿里巴巴($2050 亿),Priceline,Uber($630 亿),百度,蚂蚁金服,Salesforce,小米($460 亿)。

推荐墙外的读者或懂得科学上网的读者看这个 presentation 的视频以及完整幻灯片。墙内的读者可以看这个 PDF 版的幻灯片。

The Quiet Crisis unfolding in Software Development

作者以自己管理软件开发团队的经验,讲了在软件开发中可能遇到的问题以及对策。有一点很同意:有些开发者看上去效率很高,其实是偷工减料、走捷径、留下了不少 technical debt!

从 Salesforce 的故障得到的教训

所谓 SaaS、所谓 Cloud,只是把程序运行在别人的电脑上,然后对方的机器故障了,你无能为力只能干着急。文章举例的是上市公司、市值 $565 亿的 Salesforce,还有更多没能力及时处理故障的 SaaS 公司等着大家呢:)

如何让你的用户回来再打开你的 app

在合适的时间点发邮件给用户、个性化的短信与 app 消息推送、引入社交机制让用户与朋友们相互攀比:)

Twitter 把一切都赌在了 Jack Dorsey 身上

极具演义色彩、情节跌宕起伏的当代纪实小说 Hatching Twitter 的作者写的文章,可以当做是 Hatching Twitter 的续集来读。文中有不少猛料。
Twitter 创始人之一的 Ev Williams 曾试图说服 Twitter 董事会买下他的新公司 Medium;他开价 $5 亿,显然被拒。已故传奇 CEO 教练 Bill Campbell 不断催促 Larry Page / Google 买下 Twitter,但 Page 一点兴趣也没有。Hatching Twitter 很大地丑化了 Jack Dorsey,没想到最近作者也能顺利约 Jack 出来吃饭。

2016/06/03 第 599 期

科技圈与 NBA

约 50% 的 NBA 球队的老板具有科技圈背景,如快船的 Ballmer(微软前 CEO)、小牛的 Cuban(上一波泡沫暴发户)、勇士的 Lacob(KPCB 风投)。NBA 球队与球星们的全球所有社交账号的关注人数达到 10 亿,远超其他职业联赛(如粉丝年龄通常是大于 55 岁的棒球联赛~)。
VR 大有用武之地:身临其境坐在赛场地板近距离观看现场比赛。球星们下场第一件事是拿出手机刷 Twitter,看粉丝们怎么评价自己场上的表现的。
老套的保守的思维:NFL(橄榄球联赛)与 MLB(职业棒球大联盟)要求 Twitter 删掉球迷与非授权的记者们发的比赛中的视频剪辑,法律上讲,他们这么做是对的,但商业上讲,很蠢。现代的开放的思维:NBA 比赛的视频剪辑、GIF 到处都是,绝佳的不用花钱、通过球迷自发的营销手段。

可维护性高的 Javascript 代码

里面提到的不少实践也适合其他编程语言。推荐使用 .editorconfig 保持团队的代码风格。

社交网络与七宗罪

社交网络产品要取的成功,只需满足天主教教义的七宗罪中的一种:贪食、色欲、贪婪、嫉妒、愤怒、懒惰与傲慢(好吧,看过七宗罪电影的人都知道)。欢迎将具体社交产品对号入座。

Building Products

今年刚升官了的 Facebook 的 VP Product Design 的文章。列出了一个如何做好互联网产品的框架,有点类似 checklist:解决什么问题?如何执行?如何衡量是否成功?如何带好产品团队?

采访 John Hennessy

由 David Patterson 进行的采访。这两人不需要介绍,每个学计算机的都认识。充满智慧的问答:摩尔定律的终结、计算机教育、MOOC、硅谷的变迁、计算机科学的发论文灌水现象等。
Patterson 与 Hennessy 俩人差不多同时来到湾区(1976、77 年),一个去伯克利,一个去斯坦福;俩人见证了 40 年来硅谷的蓬勃发展,也直接或间接为世界培养了无数的计算机人才,以及那本大家都读过的教科书。今年 Patterson 要退休了,Hennessy 也将在今年卸任斯坦福校长一职。

2016/06/04 第 600 期

运维是干啥的

每个人对运维的理解与定义都不同。文中给的定义我很认可。运维是整个工程团队在开发与维护高质量软件系统中积累的技术、知识与价值观的总和。其实更是一种态度,好的开发者都是会关心自己的代码的整个生命周期,绝不是那种代码写好就不管了的态度。
Operations is the sum of all of the skills, knowledge and values that your company has built up around the practice of shipping and maintaining quality systems and software.

该不该花钱请网红做广告

写给品牌 / 公司们看的。营销的经费里该不该拿出一部分来请网红做广告?该请哪个网红?效果不好怎么办?平常心看待,在路边的广告牌,电视节目,报纸等营销渠道做广告一样得问这些问题,很多还不远如网红来得便宜有效。

创业公司没法说人话

一种现象:创业公司们喜欢用术语,都没法说人话,没法解释清楚自己的公司是干啥的。由于 startup 世界里的词汇量不大,所以几家创业公司明明做的东西不一样,但描述起来似乎是一样的。

视频是新的 HTML

HTML 是一个容器,装了满满的内容。视频也是一个容器,也承载了内容。广告拦截软件能将 HTML 里的广告给拦截了,那视频里的广告能拦截吗?那你怎么知道视频播放到几分几秒的时候有广告?

Facebook 前员工讲诉与 Google Plus 的战争

本文节选自他的新书,算是为新书宣传吧。2011 年,邪恶的大公司 Google 推出了无广告的社交网站 G +,1000 多人的网站上胆敢放广告的 "小公司"Facebook 如何进行反击?
Google Plus 宣布上线的当天,Zuckerberg 宣布公司进入 Lockdown 状态(早年 FB 的习俗,遇到严重问题如果不解决问题谁都别回家,后来放松了一些,允许回家,但鼓励周末来加班,可以带家属过来加班)。他们努力提高代码质量,由员工里的 Google 前员工带头剖析 G + 的各个元素。
作者周末开车去 Google 总部转转,停车场空空荡荡;再开车回 Facebook,停车场停满了车。这是截然不同的态度,G+ 做不成功的话那帮员工还能转到其他组,Facebook 做不成功的话员工们就去喝西北风了。G+ 对外虚报数字:上线一年,活跃用户数 1 亿。Facebook 很快就发现这是纸老虎。Google 把 G + 的按钮放得到处都是,点一下就算是一个活跃用户。

评论(没有评论)