写给实习生的第一天

写给实习生的第一天

实习生(intern)和新员工有所区别。实习生仿佛一个长达12周(三个月)的面试,一起工作,一起解决问题。在最后有答辩和debrief meeting讨论结果。可能通过了,最后公司给offer;也可能没有通过。即便给了offer,还要面临双向选择,有可能实习生不理offer,继续求学或者去别的公司,当然也可能选择到别的团队。

我的习惯是,见面的第一天,这些内容是必须要交代清楚的:

1. 近视和远

[......]阅读全文

分享到:

保卫萝卜

保卫萝卜是我特别喜欢的一款塔防游戏,其实第一代最好,第二代没那么有吸引力,但是也能玩,前两天保卫萝卜3上线,我彻底失望了。

喜欢保卫萝卜1的原因我觉得至少有这么几个:

  • 策略型的游戏,可以暂停以后来布置防守,这样就不会把游戏的平衡点放到操作上(要是论操作,那核心游戏性就彻底不同了);
  • 有好多关卡都是设计精妙的,需要思考以后才能过去,有一步策略错误就挂了;
  • 收集各种怪物,然后才能解锁各种地图,这个是

[......]阅读全文

分享到:

亲历美国医疗

亲历美国医疗

一直想写稍微写一点关于美国医疗的体验,因为看到过不少报道,也包括很多鸡汤文,都是失实的。

医生有家庭医生和专科医生之分。家庭医生(primary care)又叫全科医生,会更密切地跟进你的身体健康状况,什么健康问题都可以寻求他们的帮助,也包括一年一度的体检。一般病人或选择和固定的一个满意的家庭医生,这样熟悉以后双方都对彼此有印象,了解情况会帮助沟通。通常,他们也只是直接解决比较小的问题,大的问题

[......]阅读全文

分享到:

Spark性能优化——和shuffle搏斗

Spark性能优化——和shuffle搏斗

Spark的性能分析和调优很有意思,今天再写一篇。主要话题是shuffle,当然也牵涉一些其他代码上的小把戏。

以前写过一篇文章,比较了几种不同场景的性能优化,包括portal的性能优化,web service的性能优化,还有Spark job的性能优化。Spark的性能优化有一些特殊的地方,比如实时性一般不在考虑范围之内,通常我们用Spark来处理的数据,都是要求异步得到结果的数据;再比如数据

[......]阅读全文

分享到:

一种工作流心跳机制的设计

最近工作中一直和SWF(Amazon的Simple Work Flow)打交道,在一个基于SWF的工作流框架上面开发和修bug。SWF的activity超时时间是5分钟,在activity task开始执行以后,activity worker需要主动发送心跳请求告知service端:“我还活着,我还在干活”,如果出现超过5分钟(可以配置)没有心跳,SWF的service端就认为,你已经挂了,我需要

[......]阅读全文

分享到:

副业?副业才有趣,才精彩

副业?副业才有趣,才精彩

搞副业是要花时间精力的。但是副业的好处在于,不用担心饭碗的问题,不用担心赚钱的问题,一心一意把爱好实践好就好了。开心就多做,不开心了就少做。我觉得只有拥有足够的选择权,人生才能称得上“自由”。我计划今年继续把文章写好,把琴谈好,尽量多去短途旅行,继续追曼联的比赛,争取一场不落。对于这些纷繁复杂的“副业”,只要身体健康,我一点都不觉得疲倦。

听到过这样一种说法,你不是xx领域内的专家/权威,就不要

[......]阅读全文

分享到:

生活不止眼前的苟且,还有诗和远方

生活不止眼前的苟且,

还有诗和远方的田野。

你赤手空拳来到人世间,

为找到那片海不顾一切。

这就是高晓松写的歌,许巍唱的歌。没有漂亮的修饰,没有华丽效果,始终偏执地保持风格,简单、安静、述说,触动心弦。我记得在十多年前,写过一些文字,祭奠民谣、诗歌和九十年代。如今听到高晓松的歌,如今回忆起故事、欢笑和逝去的时光,在旧有的感怀和失落的同时,还有一丝快慰。九十年代有那么多有理想的音乐人,那些音乐伴

[......]阅读全文

分享到:

从淘汰Oracle数据库的事情说起

从淘汰Oracle数据库的事情说起

公司搞淘汰Oracle数据库的事情已经搞了好久了,这个事情其实和国内淘宝系搞的去IOE(IBM、Oracle和EMC)是类似的,基本上也是迫不得已,Oracle的维护成本太高,而公司内部基于Oracle数据库的数据仓库,也是问题频出;另一个原因则是scalability。我相信这两个原因许多人都非常清楚。而这个淘汰,也不是简简单单换一个关系数据库,比如把Oracle换成MySQL,或者换到云上(

[......]阅读全文

分享到:

Notes: Spark metrics

Below are some notes taken for future reference based on the brainstorm meeting last week, with company confidential information removed.

Background

The team use a home made workflow to manage the com

[......]阅读全文

分享到:

三次性能优化经历

三次性能优化经历

最近在做一些性能优化工作,回想起工作这些年来,参与过的三次集中性能优化,每次都得折腾少则一个月,多则半年。这些内容既是不同视角、不同思路的比较,也是挺有趣的工作经历。

Portal的性能优化

这已经是大概五年前了,搞了接近半年的Portal性能优化,后来某些内容总结在这篇文章里面。既然是Portal,性能优化上就有它的特点。比如说:

Portal的性能优化需要从前端和后端两个角度去思考问题,先考

[......]阅读全文

分享到:

研发团队的角色和构成

研发团队的角色和构成

以下都来自我的经历,带有主观评价,但是尽量保持平直的论述。

在我工作的第一家公司的时候,一个典型的研发团队是这样组成的。我的经验也只是到4年前,现在也许早就不一样了呢。

项目经理,这个角色是不断在换的。项目经理当然是只跟着项目走,这和团队经理(Team Leader)是不一样的。当然,Team Leader也往往在不同的项目里面兼任项目经理。基层的项目经理也可能会编码,但是不管参与不参与编码,工

[......]阅读全文

分享到:

历史,科学,还有艺术

历史,科学,还有艺术

学理的人要读一读历史。

遗憾的是,每当我这么说的时候,几乎所有的人都狭义地认为我在讲政治的历史,世界史或者中国史,就如同历史课本里那样。关于这一点,也是时常让我觉得悲哀的地方。我们看到的那么多纪念馆和青铜像,大多是那些因为在政治舞台历史烙印深刻的人物,其次就是久远以前的大文豪们。看看近现代的科学领域、艺术领域、文学领域,这些科学家、艺术家和文人,不知道在年轻人心中有多少分量。仿佛一定要有这样一个

[......]阅读全文

分享到:

沈阳、南京、北京和西雅图

沈阳、南京、北京和西雅图 活了快三十年,出生在小小的县城,温和而且充满回忆,读书开始,逐渐接触到城市的生活。真正长驻的城市,就只有题中列的这四个而已,自然印象深刻,如数家珍。这篇文字可以算是《旅行映像》第一部分的文字加强版,只是视角可能有些奇怪,而且思路繁乱,略带流水账性质。

沈阳

沈阳是我读书时候呆着的城市。在这以前,其实没有大面积接触过北方人(所谓“北方人”其实有诸多定义,比如以长江为分界线的,以秦岭淮河为分界线的,

[......]阅读全文

分享到:

谈谈百度血友病吧被卖事件

谈谈百度血友病吧被卖事件

最近,百度血友病吧被卖事件炒的沸沸扬扬,在中国互联网这样一个法律和道德双重缺失的环境下,以百度为首的一帮互联网流氓日渐猖狂,但是你很难分辨出到底是哪一出事情的发酵让它已经丧尽天良到如今这种境地。如果你对这样的事情不了解,那么可以看看关于这次事件知乎上的热评,以及百度既往的那些劣迹斑斑的故事,特别是百度全家桶。垄断是罪恶诞生的摇篮,我不会在这里再复述百度作恶的事实,我只想陈述几个观点,有些是可能在

[......]阅读全文

分享到:

Spark的性能调优

Spark的性能调优

下面这些关于Spark的性能调优项,有的是来自官方的,有的是来自别的的工程师,有的则是我自己总结的。

基本概念和原则

首先,要搞清楚Spark的几个基本概念和原则,否则系统的性能调优无从谈起:

  • 每一台host上面可以并行N个worker,每一个worker下面可以并行M个executor,task们会被分配到executor上面去执行。Stage指的是一组并行运行的task,stage内部是不

[......]阅读全文

分享到:

LeetCode题目解答——第227到310题

LeetCode的题目是不断在更新。还是老规矩,跳过了那些需要付费才能做的题目。下面的解法可能不是最好的,具体问题我们可以讨论。截至目前我解答的全部的LeetCode放在了这里

310
Minimum Height Trees
24.0%
Medium

309
Best Time to Buy and Sell[......]阅读全文

分享到:

扒一扒知乎上的帖子——“为什么有些大公司技术弱爆了?”

扒一扒知乎上的帖子——“为什么有些大公司技术弱爆了?”

知乎上看到一个热帖,我觉得很有意思,叫做“为什么有些大公司技术弱爆了?”。我刚看到标题的时候,先入为主和刻板偏见了一下,正如同第一个回答一样,我皱了皱眉头,产生了对题主的鄙视之情;但是很快,读完帖子以后,我却立场明确地站到题主一边了。正如同里面有位回答:

看题目以为是题主傻逼,看了正文发现真的是公司傻逼。

上面这种情况其实发生的概率挺低的,但是我觉得这回是真的发生了。

但是令我感到遗憾的是,

[......]阅读全文

分享到:

常用命令归纳:Linux/Oracle/JVM/Git

经常用到一些命令,还总是忘掉的,就简单列在这里。总是现查也挺麻烦的。

Linux:

  • top mem consumer: sudo ps -aux | sort -k4nr | head -5 or top, then press M
  • connection number: netstat -an | grep ESTABLISHED | wc –l
  • process nu

[......]阅读全文

分享到:

追求纯粹

追求纯粹

偶然想到的这个话题,工程师做工程是一方面,而作为单纯的程序员,总是充满对于纯粹的追求。

最近又负责了一个使用Angular的项目,我们知道最近Angular很火,其中一个重要原因就是它给前端开发带来的变革,第一次发现可以让以前如此恼人的变量绑定消失掉。以往变量绑定的语句放在附属于页面的一个js片段(文件)里面,颇有些无奈的意思,如果把它视为展现层面的东西,显得很不直观(声明式编程才是最直观的方式

[......]阅读全文

分享到:

重新发明轮子

重新发明轮子

“不要重新发明轮子”是总是可以听到的话,在评判一个设计的时候,总是听到这样的话。但是凡是不绝对,而对于这句话来说,很多情况下,都是错误的。我甚至都不能说出“大多数情况下不要重新发明轮子”这样的话,因为具体问题,实在没法用大多数还是少部分来概括。重用轮子有什么好处?省代码;轮子已经经过千锤百炼,质量有保障;轮子功能在逐步更新中,可以看到未来的获益。

[......]阅读全文

分享到:

Preview on Feedage: