湾区日报文章第79辑

 

目录

2016/12/08 第 781 期

如何尽量压低你的程序员的工资

搞笑文章一篇,当老板的要好好研究一下啊~ 随机涨工资、制造恐惧、把公司变成他们的第二个家(最好是第一个家)、监控他们的邮件与电脑使用记录、给他们非常牛逼的头衔。
VP 的头衔给完了、就给高级架构师的头衔。尽量洗脑:个人的工资多少不重要,公司的荣誉最重要。文章底下的评论也给了各位黑心老板一些不错的建议:在周末组织“Happy Coding Day/Hackathon”,无止境地通宵工作,压低时薪;告诉他们今年公司效益不好,全公司上下要齐心协力共渡难关,让他们羞于提出涨工资的龌蹉想法。

How to Ship Side Projects

本文给出了一些做 side project 的好建议。比如自己要有一套方便的做笔记的方法,一有好想法就快速记下来;不要做完美主义者,代码乱、界面难看、功能简单都没关系,只要能做下去就能继续改进的。
在 Indie Hackers 的采访里,我有提到:湾区日报能做这么久,有一点很重要的原因是我这个人不是完美主义者;我可以上线半成品,界面难看也没事,前 8 个月不编程、纯粹做没技术含量的事情也 ok。

Shareable Design

来自知名风投、产品专家 Josh Elman 的不错的观察:手机屏幕小,app 的 UX 设计为节省空间大量采用手势(长按、滑动),用户觉得难用?不会的,你看到别人用一次你就记住了。
It’s a physical memory(手势、触屏)combined with a social memory(朋友手把手地教学、互动), so it stays. 这就是所谓的 Shareable Design,人是乐于分享、好为人师的,同时也乐于学习。

独角兽饲养员

美国还未上市的、估值超过 $10 亿的创业公司的创始人都读哪些学校?按人数排名的前几名:斯坦福、哈佛、伯克利、斯坦福商学院、MIT、哈佛商学院等。但为何把商学院单独列出来?

Slack 公司内部的 data pipeline 长啥样的

用 S3 做数据仓库,将 MySQL 数据库的备份以及各种 log 导入 S3,然后用 EMR 配置 Hive、Spark、Presto 来进行数据查询、分析。也讲了做这套系统的各种坑。

2016/12/09 第 782 期

GitHub 是如何防治网络暴力的

任何火爆的线上社区都有网络暴力问题,人身攻击、侮辱谩骂的成本非常低,注册一个匿名账号就行了。身为程序员社交网络的 GitHub 在处理网络暴力方面都做了哪些工作?

Pebble:从拒绝以 $7.4 亿被收购到最终以低于 $4 千万卖身

2015 年,西铁城出价 $7.4 亿想收购智能手表公司 Pebble,被拒;前几天,Pebble 被 Fitbit 以低于 $4 千万收购。以后这类“拒绝高价被收购、最终以低价卖身”的案例又多了一个。
拒绝被收购、然后蒸蒸日上的案例有 Google、Facebook、Snap;而拒绝被收购、最后以更低价格卖身的案例有 Yahoo、Groupon、Pebble,欢迎补充。创始人与投资人们总是雄心勃勃、信心满满。

我是靠写代码、而不是靠写测试赚钱的

这句话要是出自普通无名程序员之口,必然会被 TDD 爱好者们口诛笔伐。但这是提出极限编程 /TDD 的 Kent Beck 在 Stack Overflow 上说的。只要有足够的测试能给你一定的信心,就够了。

Amazon Echo 之类的智能语音助手时刻监听,那些语音数据哪去了

在喊出所谓的 "wake words”(如 Echo 的 Alexa、Google Home 的 Ok Google)之前,这些设备监听的语音不被储存也不会被传到数据中心。
而在 wake words 之后的语音会被加密、然后传到数据中心,就像你使用搜索引擎的记录、你上网的记录也时时刻刻被传到那些大公司,也只能祈祷这些大公司不作恶了。

2016 年上传到 Flickr 的照片都是哪些品牌的相机拍的

2016 年 Flickr 上的第一照相机品牌是 Apple,47% 的用户用 Apple 的设备拍照;第二品牌是佳能,占 24%;第三品牌是尼康,占 18%。
Android 用户不用 Flickr 吗?前 10 大的 Flickr 相机型号里,iPhone 竟然占了 8 个,前三名是 iPhone 6、iPhone 5s、iPhone 6s。

2016/12/10 第 783 期

公司里的程序员的 side project

来自 Stack Overflow 与 Trello 创始人 Joel Spolsky 的颇有争议的文章。程序员在工作时间以外(晚上或节假日)做的 side project 的版权是不是归雇主所有?
不同国家地区的法律不同,不同公司与不同人的猥琐程度,不同人的运气不同,所以 side project 的版权归不归雇主所有的结果(结论)也不同 -- 废话!雇主也会担心:如果员工离职了后声称公司里的项目是他业余时间做的,版权应该归个人,怎么办?
作为员工,只要你别太过分,雇主一般不会纠结于你的 side project 的;除非你的 side project 每个月赚几十上百万,或者你真的窃取了公司知识产品或做了竞争产品。Zynga 员工离职后很多都去成立游戏公司,结果都被 Zynga 告得一塌糊涂。
一向做恶的 Google 也常常给离职去开公司的员工发警告信:你给我注意点,小心我告你。大公司状告小公司或个人的主要目的不是从法律上消灭你,而是为了分散你的注意力,消耗你的时间你的金钱,让你油尽灯枯。
以前也谈过一些在工作之余做 side project 的案例:dropbox,youtube 等。

在科技圈里变老的感受

结合自己的经历,给老程序员或者正在变老的程序员们一些建议(提示:本文不是叫你去整容啊)。文中一观点我很认同:我们这个行业不适合吃老本,你的能力永远只体现在你最近两年的成就,之前做得再好都不相关了。

为何音频内容无法病毒式传播

社交网络上视频、图片、文字都能被疯传,为何音频内容不行?1,人们听音频内容(广播、播客、有声书)时一般是在做其他事(开车、运动)的时候,没法进行分享;2,音频不方便“速读”,很少人有耐心听懂即将分享的内容。

失去控制的自动化营销邮件

很多营销邮件看上去像是真人发给你的:称呼你的名字,邮件格式像人用键盘敲出来的。但实际上都是在模版里替换变量自动化生成几十万几百万封邮件群发出去,十分烦人,十分不真诚。

Service Worker,你到底是什么

图文并茂地介绍 Service Worker 的文章。使用 Service Worker 的网站也有一个类似原生 app 的“下载安装”的步骤,在浏览器上装一个 javascript 文件,所以能进行离线操作与接收消息推送。

2016/12/12 第 784 期

为何真正幸福恩爱的人很少在社交网络秀恩爱

现实中幸福、恩爱的人会把时间更多地用在现实世界中,所以在网上花的时间就相对少一点;而且真正幸福、恩爱的人也不需要得到别人的认可(比如点赞),也无需向别人证明什么。

我的创业公司是如何失败的

很诙谐的文章。他在斯坦福读了 MBA,他创业是去卖“避孕套钥匙扣”,成本 5 毛钱、可卖 $1.25。创业两年后,个人资产比创业前还少 1 万。现实中有太多商学院没教的事了:)

Start-up culture is corrupting our youth and killing real entrepreneurship

创业文化变成一种大众通俗文化,似乎是看上去很酷的事情。本文表达了对创业年轻化、娱乐化、泡沫化的担忧(主要针对英国,但也适用于世界各地)。

断路器设计模式

现实中用电过猛、漏电或短路的话,断路器(Circuit Breaker)会跳闸来保护电路。这种断路器的机制广泛用在写程序中:若某个 service 挂了,客户端总不能无止境地不断去连接吧?

拥有被遗忘的权利

欧洲国家对数据、个人隐私的保护法规非常严格。个人有权利要求 Google 在欧洲国家不显示那些不利于自己的搜索结果;那么,欧洲那些国家的人能不能要求在欧洲以外的国家也不显示那些搜索结果?
Google 给出的回答是:不能;要平衡“言论自由”与“个人隐私”,你的国家有这种尊重个人隐私的法规,但其他国家没有。不过,有些神奇的地方是可以贿赂搜索引擎公司的员工对搜索结果进行干涉的:)

2016/12/13 第 785 期

Dropbox 的国际化之路

非常详尽地讲了 Dropbox 如何有计划地、一步一步扩张到海外市场的经验。2007 年创业,2011 年以前只有英文版,但当时已有 30% 到 40% 的海外用户;现在 5 亿多用户里 75% 来自美国以外的国家。

创业失败,转身加入其它公司做高管

他今年 32 岁;过去十年,创业三次;他的最后一家创业公司 Circa 失败后,在 Twitter 上私信 Postmates 的创始人 CEO 探索一下加入其公司的可能性;最后他加入了 Postmates。
在硅谷创业失败的话,如果失败得有点名气,工作其实也不难找:)

在 Pebble 被收购后,采访其创始人 CEO

他今年 30 岁,这是他在合法喝酒的年龄后第一次不当 CEO。Pebble 太晚意识到智能手表的主要用途是运动、健康方面的数据收集;CEO 本人到处游说也没融到钱,只能卖给股价创新低的 Fitbit。

当你不再关注新闻的时候

编辑们选的新闻多是负面新闻;为了吸引眼球,他们就得报道现实生活中不太可能碰到的奇闻异事,最好能引起读者、观众情绪波动并感到不舒服的事。关注那么多新闻,你除了心情变得更糟外,没啥好处。

怎么判断一个人是不是高级软件工程师

如果你能完全信任一个工程师,他 / 她办事你放心,那他 / 她就是高级工程师。

2016/12/14 第 786 期

Steve Wozniak 是我小学五年级时的电脑老师

作者的小学同学的父亲就是 Steve Woz,Apple 的联合创始人。Woz 自费购买一批电脑去给小学生上电脑课;当年 30 个小学生里有至少 8 人长大后在科技圈工作。
这种不带功利目的、没有应试任务的教育能很好地激发学生的兴趣,甚至影响学生们终身学习的一生。教的内容其实不那么重要,很多知识都会过时;但兴趣培养起来了、学习态度端正了,终身学习才是关键。
我也希望湾区日报能起到类似的作用:若能有年轻的读者受到启发、坚持阅读、坚持学习、选择了工程师的职业道路、热爱上了动手做 project、最终真的改变世界了,那我真是功德无量了:)

PR 101 for Engineers

工程师自己做了 side project 或创业了,就得开始联系以前一直看不起的媒体、记者、小编们,去“寻求报道”、为自己做的东西寻求曝光度。对工程师来说,与人打交道比敲代码要难多了:)

Prolific Engineers Take Small Bites

分析了数百万个 commit,发现效率高的、最终写了很多代码的工程师其实提交代码很频繁、而且每个 commit 通常都很小,而不是花大量时间折腾一个几百行几千行代码的 commit。
提交小的 commit(最多几十行代码),比较容易发现 bug,code review 的时候同事也会比较上心地去挑毛病,出问题了 revert 也比较方便,别人 merge 代码的时候比较不会有 conflict;方便自己方便他人,请尽量提交小的 commit。

Gusto 公司里的数据分析的服务器架构

做 HR SaaS 的公司 Gusto 改名字前叫做 ZenPayroll,2011 年成立,直到 2015 年初才开始严肃认真地做 data engineering。
他们的 data engineering 团队有 10 人。这还是发展很不错的独角兽公司,大部分公司发展 4 年后要嘛已经倒了、要嘛仍没有大数据问题,没必要过早操心这些 data infra 的事:)

$10 的 VPS 大比拼:Linode、DigitalOcean 与 Amazon Lightsail

使用 sysbench 测试了这三家 VPS 的同价格产品的性能:Linode 各项指标都完胜 DigitalOcean 与 Amazon Lightsail。

2016/12/15 第 787 期

他们有必要去吗

今天,科技圈大佬们觐见川普准总统及其子女们。一向骄傲、看不起川普的科技圈精英们有必要去向川普屈膝吗?当你做到 CEO 的位置,你就得担心这个准总统发一条 Twitter 就能让贵公司股价大跌;你是去还是不去?

程序员值不值得在旧金山湾区工作

这是来自找工作网站 Triplebyte 的营销文章,引用了一些数字对比了在湾区与西雅图工作的收入、租房的租金以及房价。湾区高收入、但高房价,值不值得在此工作?
有点野心的、对事业有点追求的可以到湾区赌一把;对事业没啥追求了、生活想早点安定下来的话,去西雅图。

开源 Kickstarter 的 Android 与 iOS app

这可是真实的公司的真实的 app 的源代码!公司开源几个小的 UI 组件是挺多的,但开源整个 app 的案例倒是很少。本文也讲述了他们 app 开发的发展史。
他们一年半以前有 iOS app,Objective C 写的,2 个 iOS 工程师前后做了 4 年;然后一个后端工程师转型做 Android 工程师、陆续有了个 4 人团队,花了 8 个月从无到有上线了 Android app;然后用 Swift 重写了 iOS app。最后开源了这两个 app,在 GitHub repos 里,还有他们设计用的 Sketch 源文件,整个代码库是很不错的学习案例。

CTO 与 VP Engineering 有何不同

CTO 是技术牛人,管技术,把握公司的技术方向;VP Eng 管人,管项目,协调与其他部门的合作。创业初期 CTO 主力动手干活,公司有 10 几 20 人后,就得考虑设 VP Eng 这个职位了。

Medium 的 2016 年成绩单

现在的 Medium 每个月有 6 千万独立访客(去年是每月 2 千 5 百万),每周新增文章 14 万篇,新增了不少名人写手。2016 年最热门的文章多是政治类的,美国大选与英国脱欧。

2016/12/16 第 788 期

“沉默是金”法则

Unix 命令的设计遵循“沉默是金”法则(就像做人一样,哈):一个命令若没啥有意思的信息需要通知用户的,那就啥也别说,别输出一堆让用户迷惑的文字、增加用户的思想负担。
为啥“沉默是金”?输出过多信息会占用屏幕空间,会让用户迷惑;而且命令常常靠 pipe 串在一起使用,一个命令的输出就是另一个命令的输入,不必要的输出就是下一个命令的不必要的输入。命令行程序的设计要“沉默是金”,很多 GUI 程序的设计其实也很需要“沉默”:)

采访 Zapier 的创始人 CEO

Zapier 集成了各种 SaaS,被集成的 SaaS 公司们(MailChimp、Slack 之类的)免费为 Zapier 做宣传,用户注册数一夜之间增加 70% - 80%。真是不错的营销策略

The Dangers Of Being Too Early

最早做的往往不是后来最成功。文中举了 Pseudo Programs 为例,1993 年开始做在线广播、视频,2000 年破产。但作为投资人早点进入某个领域也不是坏事,至少可以打怪练级、积累人脉,最终才能找到下一个 YouTube。

How to Use Thought Experiments to De-Risk Your Startup

一系列值得思考的问题:竞争对手会怎么客观评价你?一年后回头看,你的 MVP 是否太复杂了?若贵公司某高管单飞去创业,成为对你知根知底的可怕的竞争对手,怎么办?

GitHub 公司的财政状况

在过去九个月里,GitHub 收入 $9800 万,但开销太大,整体还是亏了 $6600 万。过去十八个月员工数翻倍,达到 600 人;这九个月花在员工身上的钱共 $1.08 亿。
GitHub 在程序员群体中口碑不错,但与 Dropbox 类似,要让一个个普通用户为这种看不见摸不着的“线上服务”掏钱,难。所以 GitHub 和 Dropbox 都在加大力度去向人傻钱多的大企业兜售,这才能赚钱。
工程师在 GitHub 公司里是一等公民,许多工程师对 GitHub 讨好企业用户颇为不爽 — 但是,不赚钱的话怎么付你工资啊?养一个正式的、全职员工很贵的,一般要把工资乘以 1.5。

2016/12/17 第 789 期

UI 上的卡片设计最佳实践

一个卡片只做一件事;整个卡片都要是可以被点击的;图片、字体、阴影;卡片上别装太多内容;巧用动画效果。

Emoji:a wordless tongue

当代网民喜欢用纯文本交流(短信、聊天工具),若没了 emoji,很多人都不会说话了。这篇长文应该包含了你能了解到的 emoji 的方方面面了。

如何知道某人是不是真有钱

判断某人是否真有钱,往往不是看他 / 她做了什么,而是看他 / 她没做什么。真有钱的人没必要做一些证明自己存在的事,如到处说认识谁谁谁、穿戴大家都认得的奢侈品牌等。

Who said what inside the Trump tech meeting

Kara Swisher 真是神通广大,关起门来的会议谈话内容都能搞到。微软 CEO:H1B;苹果 CEO:STEM;脸书 COO:STEM 加女性权益;Elon Musk:气候。
最搞的是这个:Schmidt then suggested to Trump that he be the“software president,”a phrase Trump misheard as“soft”president. Trump was not going to be soft! Laughs all around!

使用 iPad Pro 做任何事

非常非常长的文章,作者是 Apple 产品相关的科技网站创始人兼主编,iPad Pro 已经能满足他工作与娱乐的大部分需求了。本文详细描述了他在 Pro 上的工作流程以及 app 与周边硬件的推荐。

2016/12/18 第 790 期

When everything's important, nothing is

文章标题就颇具哲理:)这是探讨网页加载速度,是在服务器端渲染好呢、还是在浏览器端渲染好?答案是:混搭,对不同部件、不同资源排优先级,有的部分要快,有的可以等待。

你愿意花多少钱投资知识

很多情况下花钱都是在做投资。短时间内你没法立刻看到你买的东西的价值,比如买书、上课,但很可能就是这 $10、$20 买的书改变了你的一生。

匯豐食品公司:世界上最酷的辣椒酱背后的公司

在美国生活过的人应该都吃过他们家的辣椒酱吧。创始人是越南华侨,1980 年在洛杉矶白手起家,一直没有做广告,纯粹口口相传,只做一件事:做好辣椒酱。
本文写于 2013 年,那时候他们公司还没有社交账号。现在是 2016 年底了,他们网站做得不错,也有社交账号了,甚至还有微博。

不使用 TDD 与 code review 的代价

本质是关于投资时间的讨论;现在花时间来为将来节省时间。写测试或 code review 确实让开发速度变慢了一些,但提高代码质量后可以避免以后耗费更多时间修 bug。
因为代码质量差而导致将来 production 出了故障,这将让开发任务很重的工程师们分心;从写代码过程里抽出几十分钟甚至几个小时去修复故障,再回过头来继续写代码,得花更多时间才能回到之前的状态。context switch 相当浪费时间。花时间来为将来省时间。在开发过程中通过测试、code review 来发现 bug,比在 production 中发现 bug 要好得多。

关于 microservices 的几个认知误区

主要是与所谓的 monolithic app 做对比。采用 microservice 就一定代码整洁、方便管理、性能好、方便开发、保证 scalable?人能力不行,这些都白搭

评论(没有评论)