在百度的第一年

半夜精神有些亢奋,混乱的思绪在脑袋里滚来滚去,没来由地忽然想起在百度这一年。想起这一年可以总结为:前半年拼命给自己揽事儿,后半年尽量往外推事儿。

我是去年大约这个时候加入(←_←这词儿帅吧)百度的,职位是商务搜索部的分布式计算工程师。可惜那时候我对分布式系统的理解还仅限于一本老套的教科书。

我加入的项目组当时致力于设计一套高可用、会话一致、高性能、易用的海量分布式类SQL数据库,因而我们花了很长时间去调研各种分布式系统,也包括一些数据库技术,如索引、压缩算法等。那段时间最主要的事情就是读paper,写报告和讨论。因而我对各种分布式系统和相关技术的了解也是突飞猛进,可以说是挺快乐的一段学习时光。

但在这种快乐时光的背后,也隐藏着问题。在领导层没有下决心投入所有人力做一个新系统之前,这个团队还有着维护线上系统的使命,而且这是一个关键的实时广告报表查询服务。所有人面前都放着一个选择题:新系统调研,还是维护已有系统?但这不是经理出的选择题,而是自己给自己出的,因为对这个问题的回答决定了对不同工作的态度。

我的回答你可能猜到了,为什么不同时都做呢?于是在研究新技术的同时,我也慢慢开始琢磨线上系统那近十万行代码。得益于以前开发过调试器的经验,我定位问题的能力还不错,找出了几个关键的系统缺陷。修复了这几个缺陷后,系统的稳定性提高了一大截。

这只是一个例子。总的来说,积极地去发现问题,解决问题——哪怕这问题不在自己的作用域,就是我说的前半年拼命给自己揽事儿。这让我承担了越来越多的工作,也很快地成长起来。

进入了工作的后半年,变动频频。新项目被移交到新部门,设计未能得到首肯,进行了相当大且不优雅的改动。项目组同事都去了新部门,只有我一个人决定留在原项目组负责线上系统。本来还承担了一些跨部门的合作任务,后来因压力太大,从新项目中抽身而出。

没曾想到的是新年刚过,各种新需求层出不穷。我既要负责处理和修复运行在几百台服务器上程序的各种问题,又要响应来自七八个上下游的新需求。虽然有新同事加入团队,但人力总是捉襟见肘,无法完全满足需要。于是这半年来学习到的最重要一点是——谈判。

每个项目都很着急,每个需求都很重要,但凡事都得讲先来后到,轻重缓急,都有谈判和折中的余地。推开事情并提出更合适的解决方案,远胜过揽来超过自己能力的事情然后搞砸,这就是我前面所说的后半年尽量往外推事儿。这让我不至于在工作中迷失。

上面这两点是我工作这一年来的经验,也是感慨。我不敢说自己做到都对,但在各种客观不客观的条件下,我在探索和学习着正确的方法。

进入新的“工作周年”,有好多改变。下周有合作半年的同事离职,本周有三个新同事加入。但我仍然在做着同样又不一样的事情——同样是这个系统,希望尽我所能地把它变成更好的不一样。

入手 Kindle

入手 Kindle 有一个多星期了,下面写点儿经验,希望对别人有用。

关于购买:

买 Kindle 3 (wifi) 的想法上个月就有了,犹豫了很多种购买方式,后来决定在淘宝上下手。9 月 21 号在五人行数码下了个单,但据说要很长很长时间才能拿到货(排队有 400+),就和店家协商退钱了事。就这样一直等到十一国庆假期,也没有找到合适的商家。国庆期间在豆瓣上看到一家说有现货的,国庆95折,1299 块,就买了一个。

第二天店家打电话说她的 Kindle 无法注册,问我还要不?我没有犹豫很久,就说还是要吧。第三天货到了,又联系店家,店家说愿意退款 100 作为无法注册的补偿。这样一想,还不错哦,就付款了。相当于 1199 买了个无法注册的 Kindle 3 wifi 版。

结果第四天就发现论坛上关于这批无法注册 Kindle 的话题已经热起来了,各种争论不休。大部分商家的做法是低价销售无法注册版的 Kindle 3,普遍降一百到两百不等。最便宜的是我在 Twitter 上看到的一个店家,卖到 1050,和我的入手价差 150 呢。唉,怎么说呢,心中还是有点儿小郁闷,要是再多观望那么两三天,就好了——不过这也是无法预料的事,不提了。

关于皮套:

我买的不是 Kindle 3 专用的皮套,是一般 7 寸电子书的皮套,图便宜。用起来感觉还行吧,反正主要是起一个保护屏幕的作用。

关于阅读:

各种评测啥的在hi-pda、多看等论坛上能找到很多,我就不赘述了。从个人的体验来讲,感觉还是挺值的,看书很舒服。而且我女朋友特别喜欢,已经抱着 Kindle 看完了阿西莫夫的《基地》系列。我主要是坐地铁时候用,也看了两本书:《民主的细节》和《1Q84》。

关于多看:

我尝试了一下多看系统,后来恢复出厂设置给删了,就没有再装。从个人来讲,我对多看系统主要有两点意见:1、对 mobi 格式支持的不好(封面、分节等显示不太好);2、没有 web 浏览器。虽然多看对中文 txt 支持较好,但是我用 mobipocket reader 转一下 txt 到 prc 格式也不复杂(想让 mobipocket reader 支持中文 txt 分段一般需要加空行,一句命令 sed 's/$/\n/g' file 就可以解决)。剩下对我来说,貌似没有什么用多看的理由——哦,中文输入法可能算是一个,以后再说吧。

关于 hack:

使用原生系统的话,还需要做些 hack 工作,主要有两点:1、修改 locale 为 zh-CN(可以加 .utf-8 或者 .gbk,如果想看 txt 的话),方法很多论坛上有流传;2、无法注册版本需要越狱一下,才可以支持显示用户名、创建 collection、修改时间等操作,俗称“假注册”,越狱方法见这里

关于图书管理:

图书管理的话,我用的是非常原始的方法:同步目录。在电脑上建一个 kindle 目录,使用 synctoy 将这个目录与 kindle 根目录同步。这样我下完图书就扔到电脑上的 kindle 目录里,连 kindle 的时候打开 synctoy 同步一下即可。

此外有一些比较好的图书管理软件,比如 calibre,但我觉得太重量级了。不过 calibre 还是有用处的,比如抓取新闻和 web 服务器功能。比如想看《南方周末》时,用 calibre 抓取下来做成 mobi 电子书,然后在 kindle 上用 wifi 访问 calibre 启动的 web 服务器,将做好的电子书直接下载到 kindle 里,少了 usb 连接的麻烦。

哦,越狱还有一个好处,可以获得 kindle 系统的 root 权限,当然也可以 scp 拷贝文件了,而且还有 vi、gdb、ssh 可用哦!里面看起来就是一整个简化过的 Linux 操作系统。

Linux kindle 2.6.26-rt-lab126 #5 Wed Sep 15 19:25:13 PDT 2010 armv6l unknown

关于图书资源:

我测量了一下,Kindle 3 wifi 的屏幕尺寸大约是 90mmx122mm,如果自己做 6 寸的 pdf 电子书的话,最好将页面大小调整为90mmx110mm,这样下面留12mm来显示阅读进度,pdf就不会变形很多了。 hi-pda 论坛的 e-ink 版面有很多资源(电子书、配置方法等),在入手前和入手后都可以常去逛逛。

关于升级 3.0.2:

我刚才升级了一下,感觉还是有点变化的。比如以前 pdf 翻页时候,连续按下一页或者上一页,响应会比较慢,升级之后速度会快一些。剩下的改进还有待观察。