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+的按钮放得到处都是,点一下就算是一个活跃用户。