觅食@初夏夜

自从上了班之后,中午饭算是没什么希望了,基本上就紧密围绕在融科周围了,翻过来调过去也就那么几样了,所以我还是把更多的希望寄托在晚饭上。:) 为了避免晚饭重蹈午饭的覆辙,我尽量地想法四处觅食,上至五道口,下至人民大学,周末时还偶尔折腾一下更远的,比如公主坟什么的。

这个周五下午,手头工作结束得早,在那里闲着没事逛豆瓣,正好看到同城上有人吆喝着去吃柳林烤鸭,我看到时就已经五点了,而他们说是6点半就要到!啥也不说了,查查地图,看看怎么坐车,立马就赶过去了!去了总共五个人,来自五个不同的行业,聊得非常开心,吃的感觉一般,除了我最喜欢的那个玉米土豆炖排骨。不过菜相当划算,我们点了六个菜,还有米饭,最后平均下来才一人20,这在北京可算是够便宜了!我觉得恐怕只有北京的豆瓣上才能在这么短的时间内凑齐这么些互不相识的人来一起吃顿饭!

因为周六那天参加户外活动,逛了一天的八大处,下午出来后就直接跟他们去“腐败”了。领队认识一个饭店的老板,所以就直奔那里吃晚饭了,吃的是炝锅鱼,感觉非常鲜嫩,就是太少了,我们五个人才要了一只三斤多的鱼肯定不够……

没有聚会的时候我就得自己琢磨着去哪吃,最近天气比较热,所以我比较喜欢找个在路边的小摊,最好再能来上一杯冰凉的扎啤,这是我在夏夜里最喜欢吃的了!

前些天,晚上出去逛的时候一直逛到人大南边的一条街,意外地发现了这儿有一条小吃街!!一直走进去,吃的非常多,到了晚上人也很多。我在一家卖凉菜的摊子上停下了,叫了一碟混合的凉菜,还有一杯扎啤,就坐在路边,看着来来往往的过路人,听着我旁边那两个操着一口正宗的河北口音民工谈话……吃得甭提有多爽了!

今天星期天,我一冲动跑到了五道口那边去找吃的,找了半天才找到传说中的东王庄小区,一进去就能看到有好多卖烧烤的,烟雾缭绕,还有几个女老外也在那吃。我找了一个靠墙的摊子坐下来吃,正好一个老奶奶也过来,年龄比较大了,说话慢吞吞的,她说今晚不做饭了,买几串羊肉串回去和米饭一起吃,老板就在那给她烤,我们就一起听她在那唠叨家常,太有趣了。

有时候,实在没的吃了就吃那四处可见的麻辣烫!在后海时吃过,那有一家的豆皮辣得很爽,到现在为止那还是我吃过的最好的一家麻辣烫!而且后海那边还便宜,到中关村这就不行了,贵不说还难吃,物美超市里面的那家麻辣烫难吃死了,中科院门口那家也不咋的!我住的这附近有个隐藏在后面的“小吃街”,里面经常有一些民工吃饭,这里也有卖麻辣烫的,也是那样,不过相对于中关村其它地方的来这算是比较好的,所以我偶尔还会到这里来吃几串麻辣烫,也许还来上一杯扎啤,听着旁边的“叔叔阿姨”们聊天,偶尔也搀和几句,这生活真是太惬意了!

吃完回去洗个澡,只穿个裤衩坐在屋里吹着窗外的风……我就喜欢这样的夏夜生活!

P.S. 接触的人多了我就逐渐学会了根据别人的长相和口音来判断对方是哪里人,有一次同学来北京玩,他把他同学的照片给我看,我第一眼就看出了他那同学肯定是湖北人!而且我发现有些广东人特别容易就能看出来。至于口音,东北人最好分辨,还有四川人,山东附近的一些方言比较近,有时候不太容易分辨,比如山东话,河南话,河北话,天津话其实都比较近的。当然了,我也有错得离谱的时候,上次见一个姑娘,我猜了半天愣是没猜出人家是四川人!唉……

第一次面试别人

最近公司还在一直招人,因为我是内核开发这边第一个,所以开发这边的面试自然就落到了我身上。

我被面试过N次,但面试别人还是大姑娘上花轿——头一次,说实话,心里真没什么底儿。以前被面试时总觉得当个面试官是多么地拽,现在真轮到我当面试官了,发现其实根本就不是这样的!

我觉得面试别人比被面试还要难!因为,首先面试的题目你不光要知道答案或者回答的标准,而且,更重要的是,你还要权衡这些题目是不是真能够考察应聘者适合这个职位与否,还要估计一下题目是不是太难了或者太简单了。这还没完,在面试过程中你要记录应聘者的回答,人家面试完了你还得通过他们的回答来对他们做出一个准确的评价!

其它方面我就不说了,重点说说面试题目的选择,到底怎样的面试题目才是合适的?这也是我在准备面试题目的时候最棘手的问题。以前我被面试时我就想过这个问题,现在我开始面试别人了,我想我有资格说说我对这个问题的看法了。

1. 不要问google到问题。

你google得到应聘者也能google得到,尤其是一些大公司的面试题更是在网上都传遍了的。

2. 不要问和职位不相关的问题。

如果人家应聘的是Web开发,你非要问人家如何检测单链表中是否有一个循环,这显然没多少实际意义,哪个做web开发的还要去拿C去写单链表程序?!你可能会说对底层和算法了解对职位有帮助,但就这么一个破单链表的问题真的能反映出一个Web开发者有问题么?如果这个理由成立的话,那和计算机相关的你最好都问一遍,都“有帮助”。:-)

3.不要问别人能猜到答案的问题。

“五年之内你有什么打算?”这个问题极其幼稚!哪个非经济学家在1年前能告诉我现在会有经济危机?计划永远赶不上变化,老老实实做好当前工作就是很好的打算!而且这个问题有固定的“标准”答案,首先你不能说“我准备3年之后自己创业”,傻子也会猜到这么说了没几个公司愿意录用你,其次,“我打算一直在xxxx这样的公司工作”基本上就是最标准的答案了。同理,“你为什么要来这里应聘?”这个问题也类似。不要让别人看了你的问题就猜到你的一些倾向,从而让他去根据这去回答,尽管你的本意可能是好的。

4. 少问考察记忆力的问题。

我承认这类问题在某种程度上确实可以反映应聘者的熟练程度,比如,我用shell很熟练,我确实能够记住$!,$?,$$标示什么意思,但我记不住就能说明我shell能力不够么?如果是,那整个man手册的内容你都可以放心大胆地去问了!!你当应聘者是man手册么?连你自己都知道遇到记不住的东西时我们可以去查手册这个东西!所以,这类问题如果非要问的话,你自己心里最好有个底:人家能回答上来说明他或许就是很熟悉,人家不能回答上来说明不了什么多大的问题!

5. 少问有“标准”答案的问题。

诚然有标准答案可以让你很容易地根据回答来判断应聘者的水平,但知道标准答案可能和应聘者的能力没太大关系,我应聘的时候有几个问题还正好是我应聘前一天看过的呢!!这除了能说明应聘者幸运之外又能说明什么?坐下来想想,问一些没有标准答案,没有固定回答的问题,比如:“你觉得C语言这门语言如何?为什么?”,“你见过最酷的C语言技巧是什么?”,应聘者何种水平,何种学习的态度,通过这两个问题的回答基本上就知道个差不多了!

面试时间宝贵,不要把时间浪费在无聊的问题上。和应聘者坐下来好好聊聊,谈谈编程的心得,工作的经验,说说自由软件的文化,黑客精神,开源社区,这些远远比问上面某些无聊的问题要好得多!

所以,诚实地来讲,很多面试基本上就是在浪费面试者和应聘者双方的时间……

祝母校生日快乐!

虽然可能太晚了,但还是想说一句,祝母校生日快乐!

哎,记得年前回西安时和我们几个毕了业的同学谈西邮,发现其实离开了西邮之后才知道西邮好。。。现在狠怀念我们西邮的小吃街的说。。。

准备换用docbook

最近在写《C语言编程艺术》时越来越对office感觉不满了,看着那排版是越来越丑了……想了半天决定换docbook,其实以前是想换LaTeX的,但是我这的中文环境一直没有搭好,在笔记本上还得重新弄,挺麻烦的,算了。换docbook带来的另一个好处是可以通过版本控制系统来发布了。虽然工作量大,但还是值得的。慢慢来吧。

下面是我在学习docbook的过程中发现的一些不错的教程,和大家分享:

DocBook: The Definitive Guide
DocBook XSL: The Complete Guide
DocBook 文件写作入门
Docbook 指南
DocBook 学习

还有就是关于图形界面的docbook编辑器,这里有一个列表,我试了几个,发现conglomerate还不错,挺简洁的;Quanta+和XXE比较庞大,很多东西不知道怎么用。。。

继续学习……

Intel SMM 缓存中毒攻击

一大早起来上网就看到这么一条劲爆的新闻。其实这个漏洞由来已久,以前至少见过两次对它的介绍,而今天,我们终于看到实实在在的exploit了。

我把官方的paper和exploit代码通读了一遍,发现这个漏洞的原理其实很简单,大体如此:

1. 把SMM内存区域设为write-back模式,这需要修改mtrr(/proc/mtrr)。很明显,在linux上这一步是需要root权限的。也就是说,这里也就已经决定了这个漏洞不是用来给你提升权限的,而是用来隐藏rootkit等东西的。

2. 对SMM内存区域写入你自己的攻击代码,因为上一步已经把cache设为了wb,所以写入的代码其实是暂时存放在cache中的。而在一般情况下,这块内存显然是uncachable的,而且不会让你随便写入的。

3. 马上进入SMM模式,这时,SMI中断处理程序会从cache中读取相应的代码去执行,而不是从内存中。攻击目的达成!而且系统根本不会检测得到!

这里面隐含了非常关键的一步,那就是需要知道SMM内存中SMI处理函数的偏移(详细见Intel官方手册Vol 3 24.4.1),官方paper中给出的方法是:把上面的手法反过去,去读出SMM里面的内容进而得到那个偏移,非常巧妙。:-) 这个漏洞好啊,SMM那个地方风不着雨不着的,而且权限还不低,更可恶的是攻击代码在缓存中,几乎不太可能检测得到!tmd绝了!

Update: 根据这篇文章,TSEG其实就是物理内存的最后一块,可以根据自己机器的配置和/proc/mtrr的输出来判断。

这里有几个概念可能不太好理解,

1. SMM,System Management Mode。Intel CPU的一种模式,和我们通常所说的实模式,保护模式类似。它和实模式差不多,只是寻址是32位的。设立它的目的是给BIOS和firmware使用的。详细描述见Intel Vol 3, Ch 24。

2. MSR,MODEL-SPECIFIC REGISTERS,一些特殊的寄存器,有特殊的用途,比如sysenter。这些寄存器可以通过rdmsr来读取,通过wrmsr来写入。详细描述见 Intel Vol 3 8.4。

3. MTRR,MEMORY TYPE RANGE REGISTERS,MSR中的一类,设置内存块的缓存属性,比如上面提到的缓存策略。具体描述见Intel Vol 3 10.11,也可参考Linux内核源代码arch/x86/kernel/cpu/mtrr/中的代码。

生死之城

我今天特意跑到电影院里把这部电影看了。看的人不多,不知道是因为不是周末的缘故还是因为这种题材的电影没有多少人喜欢。

整部电影130分钟,非常压抑,看的过程中我都没敢大声喘气。电影院的音响效果很好,里面的枪声感觉很震撼,炸弹爆炸时的震动坐在电影院里都可以感受得到!如临其境!

我觉得这部电影的中文名没英文名好,所以我这篇文章直接把英文名翻译过来作标题了。里面给我印象最深刻的是日本小队长角川的一句话:活着比死更艰难。用这句话概括整个电影非常恰当,即使这个杀人如麻的日本兵最后也是受不了良心的折磨而自杀。

看完回去后同学问我这部电影的主角是谁,其实这部电影没主角,四个主要人物的特写为我们提供的是四种视角来看待整个故事。而且这四个人物都是小人物,没有英雄,我觉得正是这几个小人物的经历才反映了整个大屠杀的过程!因为,“人民的经历,才是时代的经历!

网上有很多人置疑看这部电影的目的,其中一个理由就是不应该再让旧的仇恨充斥在年轻人之中。这当然没错,我们去看这部电影也不是为了去和日本记仇,更不是鼓励年轻人们都去复仇,而是,历史就摆到那里了,它不由得你去不去面对!面对历史,我们还是谦卑些为好!

他们太有才了

好久没上网聊天了,今天和以前的几个同事聊了聊。下面是和m@rco的聊天:

[20:59:26] m@rco: hi
[20:59:41] … worker
[20:59:51] … so you are doing what you like finaly
[21:00:05] Américo Wang: hmmm, definitely yes
[21:00:06] … :)
[21:00:17] … how are you, Portuguese guy??
[21:00:18] … :D
[21:00:24] m@rco: and you are now on a big city
[21:00:31] Américo Wang: TOOOOOOO big
[21:00:42] m@rco: :) living alone ? or with friends ?
[21:01:02] Américo Wang: alone, but i have many friends also in beijing
[21:01:08] … they live in their schools
[21:01:11] … ;)
[21:01:25] m@rco: nice… now is time to search for a girl ;)
[21:01:31] … and have lots of little wangs :D
[21:01:42] … (dance)
[21:01:44] Américo Wang: :D
[21:01:50] … OMG…
[21:02:10] … THAT IS ALMOST EXACTLY WHAT I AM THINKING!
[21:02:15] … (devil)

聊到这里我都快笑喷了。。。后面还有呢,接着看:

[21:05:21] m@rco: i’m planing to build a football team
[21:05:29] Américo Wang: LOL…
[21:05:31] m@rco: with my wife
[21:05:41] Américo Wang: you will have, at least, 11 babies…
[21:05:43] … hmmmmmmmmmmmm
[21:05:47] … excellent
[21:05:51] … but not easy
[21:05:52] m@rco: indoor soccer :D 5
[21:05:53] Américo Wang: :D
[21:06:10] m@rco: or just a ping pong team :) 2 :D

到这里我都笑得快不行了。。。。还有Carlos,

[21:47:00] Américo Wang: then I will begin to think about what I should bring to you and your wife-in-the-future…
[21:47:03] … ;)
[21:47:34] Carlos: not a kid :| ok?
[21:47:40] Américo Wang: :O
[21:47:48] Carlos: I will do that
[21:47:49] Américo Wang: oh my god…
[21:47:50] Carlos: :)

总之就是m@rco要当爸爸了,Carlos要结婚了!嘎嘎,听到这些真是太高兴了!所以俺计划着明年飞到葡萄牙去参加Carlos的婚礼呢,听说在他们那的婚礼可以大吃上一个星期……0_O 然后还要和m@rco家的“足球队”踢场“友谊赛”……哈哈哈哈

恩,还有那个循规蹈矩,忠厚老实的老好人Ricardo,他的生活其实没啥好说的,一直都那么单调,可他还说他妹妹Ana无聊,哼,所以现在我见了他都开玩笑地说,谈你太无趣了,咱还是谈谈Ana吧,哈哈!这兄妹俩现在都挺好,那我就放心了。

太想念那些葡萄牙的朋友了!明天给他们寄几张北京的明信片去~

P.S. Ricardo同学说其实他偷偷地用google translate看我的博客呢!-__-! 我对翻译质量表示严重的怀疑。。。。

在北京那些事儿

来到北京得一个多月了,一直忙着折腾生活,以至于没时间更新博客了。:-)

说实话,来北京之前对北京真没什么好印象,人那么多,车那么多,去了不是添堵么?来到北京住了一段时间才发现其实没那么糟糕,北京人是多,人多的一个好处是聚会热闹!所以你在豆瓣上可以经常看到北京有各种各样的聚会,都是年轻人,虽然互不相识但聚到一起聊聊天挺有意思的。所以,在这里,见一个网友比其它地方要容易的多。

前些天参加了一个单身聚会,和一大堆人玩了一下午的杀人游戏,然后一起去吃饭,坐在一起聊了很多,这些人做什么的都有,聊起来特别有意思,就像其中一个人说的,好久没和这么多人一起吃饭了,哎,我又何尝不是呢?看看坐我旁边的“半仙儿”大姐,比我大那么多还能这么乐观,这种心态就值得我学习。我回去把这事儿和我那些非单身的同学一说,他们相继表示要假装单身来凑热闹……切,好事儿哪能都让你们占了,也该我们单身的占一次了吧?

北京有很多吃的地方,在这里可以发现全国各地的小吃,但是在北京找正宗的小吃可不是一件容易的事儿。我现在没事儿就盘算下一顿该吃什么,去哪找吃的,逛来逛去还是没把北京的小吃给全部发掘出来……

鼓楼东大街有一家涮肉,非常棒,用的还是那种老式的火锅,味道很不错,而且还挺便宜的;
同一条街上还有一家香锅,辣得变态,我们虽然只叫了一个微辣的锅但还没吃完就已经把我辣得不行了,口味重的人可以去试试;
烤鱼吃过好几家,感觉还是成府路上那家比较好,皂君东里那的那个烤鱼居然没有汤,而且还会把点的菜和鱼一起做,我觉得应该叫“香锅鱼”才是;
西单的重庆酸辣粉还算不错,就是中午在那里吃的人好多好多;
东四北大街上有个不太容易找到“小彻甜品店”很好,又吃了一次广州的肠粉,感觉还是没有在广州时老大那边的村子里吃的好,不过双皮奶挺好的,感觉比南锣鼓巷的那家要嫩一些;
灯市西街那有家上海城隍庙小吃,感觉还可以;
知春里这的柳州螺蛳粉店没找到,据说已经搬了,我又跑到团结湖那边的“净心莲”吃的,不过我去得晚,人家卖完了,在这么一个奇特而又比较奢侈的地方我大胆地只叫了一碗面就出来了,估计服务员都无语了;
在北京吃过三次臭豆腐,都不好吃,不臭,吃起来也没那么香,现在好怀念在长沙吃的臭豆腐;
别人请客吃了次小肥羊,相当爽;
住的附近有两个很有个性的餐馆:小吊梨汤,完全模仿民国风格,就是里面的菜普遍偏甜;风波庄,可以去庄里当一把好汉(女的叫女侠),边听“笑傲江湖”边看小二“乾坤大挪移”;
小区门口有家西安小吃,还挺好的,经常进去怀念一下西安的小吃,尤其是凉皮;斜对面有家重庆小吃,罐罐牛肉面超赞,我经常在晚上九点多去里面要上一碗热热身。
……

北京有个最不好的地方就是夜宵没那么丰富,起码我住的这边如此。在西安,晚上十二点多了我们还可以去吃路边上的烧烤,而北京就不行了,晚上才九点多门口那些小摊就收了,为了吃上夜宵,我还得跑到附近的公交车站去找吃的,一般是吃个煎饼果子或者鸡蛋灌饼。所以我就说,我现在的娱乐活动基本上只剩吃了。8-)

北京这逛的地方挺多的:后海一定要去,看看北京的文艺青年们聚会的地方,我都去三次了,恩哼;附近的南锣鼓巷要去,里面的小店很有个性,还有烟袋斜街;呃,地安门要去,没听那首歌里唱的嘛,“走在地安门外没有人能不动真情”;故宫还和四年前去没啥差别,还是无论什么时候都是那么多人,不过看看慈禧和溥仪(去此之前最好看看电影《末代皇帝》)住的地方还是不错的;颐和园是个不错的地方,不过要去您就别指望能逛完一圈了,那园子修得太大了;前门修得不错,挺有北京味儿的;奥运那儿其实也没啥意思,白天时鸟巢在外面看起来就一破铁架子,水立方就一破盒子;国图新楼挺好的,可惜里面的书真的不咋的,起码计算机的书还没我们西邮的图书馆好;要逛大学的话,清华园还是值得逛的;北大就算了,就一个未名湖,一向号称开放吧,进去还查身份证,靠;人大不错。

四月是北京看花儿的季节,可以去玉渊潭看看樱花;去元大都遗址公园看看海棠,还有旁边的中日医院;想着去植物园看花还没去;还有中科院植物所……我现在越来越喜欢拍这些花花草草了……

我在这里的同学很多,光在中科院的就四个,然后还有两个声称是在北京其实离都在五环以外的同学,人家每次进城都得两个小时……一个女程序员晓静同学在离我很近的地方上班;有个失散了多年今天才见面的女同学在人大;一个同学的同学在央财;还有三个分散在北京没联系;最夸张的是有一个毕业以后就消失了没人能联系上的据说也在北京……阿元声称要来北京;另一个哥们现在在上海据说七月份要来北京。所以啊,我现在见了谁都是忽悠着他/她来北京!瞧,多热闹啊!恩,我们饭局也很多,周末没事叫着晓离去晓静家蹭饭吃,那次吃她做的炖排骨,这次又去她家吃自制火锅。晚上没事群发短信:有空没?一起去xxx吃yyy吧?猜怎么着?中科院的人连回复的短信都基本上是一样的:不去了,做作业呢!

前两天报名当志愿者了,去当老师辅导员,我发现我能教的真少,教计算机吧,可人家也不用linux啊,英语没问题,数学复习复习还行,语文就算了,其它特长没有,有的那些千奇百怪的嗜好没一个能算是特长的,算来算去我还是教英语比较合适……悲哀啊!

今天去见人大那同学了,晚上顺便跟她去上课了。她的专业让人听了巨无语。。。。。党史!不过跟她上的这节选修课不错,人大挺有名气的辛逸教授讲的,讲三农问题,我都听得懂。他讲课挺幽默的,而且相当“左”,我很惊讶这种课居然也能在大学里有,打算长期去人大蹭这课听了……

就写这么多吧,生活还得折腾,不是么?你不折腾生活,生活就折腾你啊!

P.S. 去“小彻甜品店”吃饭时看到店主在门口写着”Dreams come true”,很感动,北京有多少像这样来寻梦的年轻人啊!恩,我们没钱,我们没房子,但我们都有梦想!有梦想谁都了不起!

P.P.S. 有四个陌生人问过我路,我居然都回答上来了……

Got a new job

Since some people may be still wondering where I will work…

Well, after a rather long-time interview, finally, I got a very nice job from Redhat Beijing as a junior kernel developer. So working on Linux kernel will be my formal work, instead of a hobby in my spare time. This is really a challenge for me. How nice! :)

I want to thank every people I met in Redhat, especially, I want to give my HUGE thanks to Eugene Teo! Without his recommendation and encouragement, it is impossible for me to get this job.

Last but not least, I would like to thank all of my friends in Beijing, thanks for their kind help during my stay in Beijing!

I am just a lucky dog! ;-)

《天国王朝》

前几天看完了这部电影,今天在google reader上看到一句话,发现用来评价这部电影再合适不过了:

Men never do evil so completely and cheerfully as when they do it from religious conviction.

人们只有在奉宗教之名时才会如此彻底和愉快地进行邪恶之事。

— Blaise Pascal




影片中一位德高望重的十字军将领的一句话也道破了这场战争的本质:“我原以为是为上帝而战。后来明白了,我们是为财富和土地而战。

当然了,通过这部电影你也可以了解关于耶路撒冷的一些历史,知道为啥那两个国家为了它争得那么嗨皮了吧~!

强烈推荐阅读:http://www.douban.com/note/25026019/