幸福

2017年


在咖啡店拿出笔记本,钢笔正好没水了。刚拿出墨水瓶灌完墨水,对面的老头说,他已经二十年没见过钢笔墨水了。老头和蔼可亲,有几分像十几年前系里的一个老教授,著作等身,嗜爱钢笔,他最喜欢的一支是年轻时买的,后来重金修好。老教授对我极好,多次写推荐信。去年一次心脏病发作以后,再也没了音信。

2017 年 1 月 9 日

————

分答上收到一个问题,问我对微信小程序的看法。IPhone十年前发布时,最突出的优点之一是不支持Flash,而最突出的缺点则是不支持第三方app开发。而之所以不支持Flash,是因为它违背了Web前端开发应该开放的原则。微信选择iPhone诞生十周年之际推出小程序这个受到诸多限制的Web apps平台,颇具讽刺意味。

2017 年 1 月 10 日

————

在系里负责本科生课程有关的工作,经常需要给系里的教授群发邮件。每一封邮件需要「私人订制」,比如附上一个跟收件人所教课程相关的Excel表格用来收集回复信息。以前系里需要找专门的开发人员开发新的网站,费时又费力。我灵机一动,写了两百行Python代码,群发邮件跟用「全自动」傻瓜相机拍照一样。

2017 年 1 月 11 日

————

昨天讲了一节一年级编程课。用粉笔写光了好几层黑板,然后开始接上电脑演示UNIX命令行工具。从pwd和ls开始,我一边演示一边讲UNIX那种「大道至简」的设计哲学,讲「no news is good news」的理念。讲到编辑器时,想起了二十多年前清华东主楼三楼的机房,直到全场鼓掌结束时,思路还沉浸在当年的vi里。

2017 年 1 月 13 日

————

Swift Playground绝对算是iPad上的「killer app」。两个女儿都爱玩儿,编程环境不但有动画,还有动听的音乐;学编程不再是一种负担,而是成了一种享受。「Learn To Code」三部曲从定义函数和循环开始,第一部最后就已经开始介绍基本的算法。进阶的流程跟传统教学方式截然不同,但又觉得非常流畅自然。

2017 年 1 月 14 日

————

租了辆全新的Jaguar F-Pace,跟女儿讨论了一会儿仪表盘的设计。F-Pace的仪表盘是全数字液晶的,科技感十足。可我们俩都更喜欢传统的模拟仪表显示,真正的仪表指针,夜间明亮的数字,圆润饱满的字体,因为感觉只有这样才不像一个仿真的廉价玩意儿。或许在高科技的时代,我们需要的是一点儿「低科技」。

2017 年 1 月 15 日

————

组织一个会议,需要一个会议主页。开过很多学术会议,网站没有一个可以称得上「漂亮得不像实力派」。不但没有美感可言,连基本的「responsive design」都没做到,手机看不了。我设计的主页基于Bootstrap,简单大方。首页的插图找不到合适的,学生就自己画了一张,_exSJTUer 同学惊艳的作品。

2017 年 1 月 16 日

————

今天的编程课讲到srand()时,讲到可以用Unix Timestamp来做随机数发生器的种子,进而讲到因为Unix Timestamp用32位int表示造成的「2038年」问题。所有基于Unix Timestamp的计算机程序,大到云数据库小到智能温度计,都会在2038年1月19日凌晨3点14分07秒回到1901年。也许这是计算机设计史上最大的失误。

2017 年 1 月 21 日

————

很多学术会议评审论文靠审稿人评分,然后计算平均分来讨论决定是否录用。这种机制的问题是不同人评分松紧程度不同,一篇(3, 3, 2)的论文不一定比(3, 2, 2)的论文好。其实更好的办法是采用排名(rankng) 机制:每个审稿人给出局部排名,然后设计一个算法转换成全局排名,将其与局部排名的一致性最大化。

2017 年 1 月 25 日

————

跟普渡大学一位教授合作组织一个会议,他每次来邮件都以「Good morning Baochun!」开头。想了半天,竟没想出任何一种更加让人心情愉快的开场,那个惊叹号尤其画龙点睛。就像那部叫「Her」的电影,男主人公以替人写情书为生,但当人工智能Samantha甜美的声音从耳机传来时,灰暗的天空都好像明亮了起来。

2017 年 3 月 7 日

————

和一个学生聊天感慨「宝刀已老」。他说:「“四十岁后,不滞于物,草木竹石,均可为剑。自此精修,渐进于无剑胜有剑之境。” 要宝刀有何用处?」这是《神雕侠侣》里的形容独孤求败的啊。不过我更喜欢的还是郭襄的三件生辰大礼,文字气势磅礴,感情真挚细腻,到绝情谷底她拿出第三枚金针时,嘎然而止。

2017 年 3 月 11 日

————

偶然找出来姥姥的一封信,从邮戳看是99年2月写的。那时我特意把姥姥在燕南园60号的地址和我在美国的地址打印好了寄给她,她每次来信只需贴在信封上。大概是怕超重多贴邮票,写满密密麻麻的小字,絮叨绵长。信里嘱咐我做泡菜的坛子要干净,不能沾上油。信末尾的落款是「爱你的姥姥」,那年她八十六岁。

2017 年 3 月 21 日

————

女儿正在练习肖邦的Fantasie Impromptu,我一直钟爱的一首曲子。旋律忽而悠扬甜美,忽而狂风骤雨,据说和贝多芬的「月光」心意相通。记得她五岁时买的钢琴,虽然我不懂音乐,还是陪她从「欢乐颂」开始,慢慢练习进阶。时间一年年过去,感觉就像《天龙八部》里写的,把自己的内力源源不断地传给了女儿。

2017 年 3 月 22 日

————

前几天David Rockefeller去世,颇热闹了一会儿,很多地方转发关于洛克菲勒家族的文章,浮躁得和杨绛去世时如出一辙。想起这个Rockefeller跟Paul Fussell的那本「Class」里上等人的最高级别「Top Out of Sight」真是绝配,没人注意过他,神龙见首不见尾,平时就是在少林寺扫地而已,绝对令人悠然神往。

2017 年 3 月 24 日

————

褚明宇最近有关宗教的文字确实精彩。无论结果是轮回、复活、还是天堂,归根结底人都是怕死的。乔布斯说过,想去天堂的人,也不会「die to get there」。不过马斯克说了一段话发人深省。说他有了孩子之后就不怎么怕死了,因为从硬件来说孩子至少是自己的一半;软件是自己百分之几,要看陪孩子多长时间。

2017 年 3 月 31 日

————

多大中国学生会组织了一个「教授面对面」活动,有主持、抽奖等传统环节,比我二十年前那会儿的学生会高大上多了,当年就知道组织开二手车去机场接新生来着。不过接新生绝对有效:我高中时代最漂亮学习最好的同班同学,北大四年都没人追得上,新东方GRE第一,到美国跟去机场接他的男生几个月就结婚了。

2017 年 3 月 31 日

————

复活节周末给孩子做饭当司机的间隙,新版的INFOCOM app终于完成,顺利通过审查上线。改版过程中重新写了一大半的代码,全面采用Swift 3.1。底层数据框架从已经过时的Parse改成Realm,重新设计了用户界面,继续坚持「Simple, Private, Fast」的理念。最大的亮点是可以根据用户喜好离线推荐类似的论文。

2017 年 4 月 16 日

————

女儿学校英文课这个阶段的主题是公开演讲,每人需要准备一个几分钟的演讲。演讲其实她去年也学过,着重学如何说服观众(persuasive)。今年的要求是反讽(satirical),难度明显高了一个级别。我仔细回想了一下最近看过的中文文章,好像没有「satirical」风格的,想看大概要回到鲁迅和林语堂那个年代。

2017 年 4 月 16 日

————

微博国际版体验了一段时间,没有广告问答,设计着重简单好用,有点儿穿越回到六年前刚开始玩微博的感觉。那时最喜欢的客户端叫「随享」,虽然名字起得比较俗,但清新自然,美观大方,还有一个独创的功能叫「魅影」,可以随时切换到朋友的视角,看看他们关注的是什么。可惜作者去世之后,最终无以为继。

2017 年 4 月 23 日

————

为了下周INFOCOM 2017全新改版的Android app终于上线。界面设计风格坚持采用material design,支持实时搜索和推荐类似论文,基本上跟iOS版不相上下。Android Studio 2 比去年好用多了,Java编程甚至成为了一种享受。虽然很长一段时间没有好好休息,早起晚睡工作,可是当大功告成时,还是觉得非常值得。

2017 年 4 月 25 日

————

好几年没来北京,终于有机会去了一趟大名鼎鼎的奥林匹克森林公园。跑道全程一圈10.5公里,比我想象的要短些。虽然是清晨,太阳晒得还是很热。一路上远远地跟着一对情侣跑,曾经一度快追上了,最终体力不支,任由他们慢慢远去。回来竟然找不到地铁站,路牌上有法文、日文和韩文的标识,就是没有中文。

2017 年 4 月 30 日

————

和一个学生聊天,说起学校新校区到现在都没给学生宿舍安装空调,就连教室楼的空调都要六月份才开。在场的另一位教授立马反应:我们那会儿连电扇都没有,不是也一样学习。其实我认为过日子有三样东西绝对不能少:空调、热水、网络。少了一样,工作效率会大大降低。所以我特别不明白为什么宿舍不装空调。

2017 年 4 月 30 日

————

Ben Thompson发表文章「Apple’s China Problem」,分析了世界多数地区iPhone销量上升而中国却下降的原因:微信。微信已经成为一个操作系统级的平台,中国人用微信聊天、看新闻、打车、买东西。买iPhone对大多数人的意义只是一个品位的象征(status symbol),所以外观改版的iPhone 8在国内一定会热卖。

2017 年 5 月 6 日

————

我觉得吧,表扬的话得别人来说,自我表扬还不如自我批评,总是让人觉得掉价儿。比如主持人颁奖典礼上表扬了自己半天,领奖感言可以说「I am humbled and pleased to receive this award」,但是不能说「他说得太有道理了」。即使表扬别人,也不能动不动「男神」「大牛」地招呼,否则说不定会适得其反。

2017 年 5 月 6 日

————

经常收到别人送的一些小礼品,以酒和茶叶居多。茶叶多到了一定程度,本来我从来不喝茶,因为怕上好的茶叶过期浪费,竟然开始喝起来了。其实我倒是觉得,与其送烟酒茶叶土特产,不如换个思路送点什么别的。爱吃甜食的送黑巧克力,家里有孩子的送件哈佛或斯坦福的外衣,有iPhone的送根苹果充电线或耳机。

2017 年 5 月 7 日

————

健身房里我最近的新宠是一种新式的跳箱,用来练重复跳上跳下,是一种间歇性高强度训练。这种跳箱其实就是几种不同高度的方盒子,设计巧妙,即使没跳上去也不会受伤,跳的时候不会特别害怕,可以全力以赴。记得小时候最怕跳高、跳山羊、跳箱等助跑后跳跃的项目,尤其是那种分腿跃过的动作,难于上青天。

2017 年 5 月 7 日

————

飞机上偶然机会看了「Miss Sloane」,是我一年来看过的众多电影中最精彩的一部。Jessica Chastain的演技炉火纯青,女强人外表下的那份柔情,令人伤感。连珠炮式的台词里的好词好句如红五月的好人好事般大量涌现,值得反复揣摩。法律、道德、是非和利益激烈交火,剧情像过山车一样扑面而来,呼啸而去。

2017 年 5 月 18 日

————

回国开设了一个短期课程,需要分享一些课程相关的文件。打听了一下,学校竟然没有教学专用的Web服务器,需要自行架设。只好退而求其次,去研究各式云存储:360云盘似乎已经关闭,百度云不知道能否分享文件夹,最后决定购买微云的会员,号称可以分享65天。买了才知道原来跟游戏一样,还要「成长」才行。

2017 年 5 月 23 日

————

一个讨论群里,学生对我的称呼是「teacher」。其实「teacher」在英文里指的是中小学教师,大学老师对应的词是「lecturer」或「professor」。而其中只有「professor」可以单独用来称呼老师,一般情况需要连上姓氏,比如「Mr. Li」或「Prof. Li」。想起小时候学的「pardon?」后来才知道国外很少这么说。

2017 年 6 月 5 日

————

家里装了个Amazon Echo。有一天想玩儿,突然忘了它叫什么名字了。那种感觉就像去开会碰到一个人热情地跟你打招呼,看着也眼熟到了好像前一阵子刚见过,就是记不起叫什么名字了,又不好意思盯着人家的名牌儿看。所以名字越简单越好,什么Alexa,什么Cortana,还是不如「Siri」好。准备明年买个HomePod。

2017 年 6 月 6 日

————

离开家前,女儿给我发了一些她们平时最爱听的歌的合辑,就叫「Good Music」。傍晚在水果摊儿、三轮摩托、烤肉店的喧嚣中,戴上耳机,正好听到Zedd的「Beautiful Now」:「We’ll light up the sky, we’ll open the clouds, ’cause baby tonight, we’re beautiful now. 」

想起在家每天送孩子上学的时候,女儿都会动情地跟着唱副歌:ba ba ba ba… 我边开车边说:这歌老是叫「爸爸」干什么?跟着传来身后清脆的笑声。想到这儿,我打开手机,点了「单曲循环」,看到街边好几个人围着一盘象棋,拼杀得正酣。

2017 年 6 月 13 日

————

大女儿过生日,我们给她的卡片上写着:「祝愿你新的一岁,多锻炼,强健体魄,交知心的朋友,和朋友们共同成长。做喜欢的事情,开阔眼界,思考未来。爸爸妈妈永远做你的后盾,鼓励你,支持你。」小女儿则对这类「煽情」的文字有一个盖棺定论的评价:「So sappy!」看了一段儿说,要坚持在她吐之前看完。

2017 年 6 月 27 日

————

朋友聊天,说起特别担心自己女儿快三十了还没有男朋友。这话怎么接啊 —— 又不能说「那她早干什么去了」或者「那得赶紧抓紧时间行动了」。我说啊,其实找男朋友跟找工作差不多。没有的时候有无穷多种选择,非常灵活机动;有了就成了唯一选择,不满意的话就只能听之任之,或者付出昂贵的「跳槽」成本。

2017 年 7 月 8 日

————

今天忽发奇想,顶着四十度的大热天,骑上小黄车到几公里外的一家东来顺吃涮羊肉。打小一向钟情于这种老北京的吃法儿,铜锅、手切羊肉、白水加几段儿葱姜、麻酱蘸料,一样儿都不能缺了。炭火初上,一盘羊上脑慢悠悠热气腾腾地涮着,如果对面儿再有一位京城的侃爷,跟咱聊着个家长里短的八卦,就齐活了。

2017 年 7 月 12 日

————

请朋友到家里来玩儿,跟家人围坐在厨房,包几盘儿饺子,炒个青菜,再调两杯鸡尾酒,开瓶儿威士忌,是一种对好朋友的礼遇。菜越是家常,交情越是与众不同,尽显「朋友来了有好酒」的豪爽。朋友最好不带任何礼物,否则略显生分。在后院儿海阔天空地聊着,孩子都已熟睡,远处城市的灯火在树梢里忽隐忽现。

2017 年 7 月 12 日

————

每当一大桌子人的饭局,我都基本不说话,默默地专心吃饭。主要是人多的时候,话题总是非常发散,声东击西,没有主题,所以也就比较无聊。

最近一次吃饭,几个朋友说着说着说到美国政治和特朗普上了。话锋越说越激烈,马上就要吵起来了。我想起了小时候看足球,守门员出击失守,眼看着要进球,后卫补位,大脚解围,化险为夷。

「我给大家讲个马克思的轶事吧。」我忽然打破沉默,大声说。

2017 年 7 月 22 日

————

阔别八年时间,在上海法租界的一家餐厅里再次见到褚明宇时,竟然有一种错觉。感觉又回到了二十年前他家的客厅,火锅里的水已经滚开,热气腾腾,羊肉刚刚切好上桌。那时他刚发表了一篇名为《大骂Titanic》的檄文,觥筹交错之间,聊着时局,讲着记忆中的故事。这种身临其境的感觉不是「déjà vu」那种似曾相识;而是故地重游时,发现一切都还好好的,像一张微微泛黄的老照片。

2017 年 8 月 14 日

————

完美的一天是这么开始的:清晨起来,在早就习惯了的老路上晨跑,摄氏十度,一个人也没有,雾气蒙蒙,皓月当空。十几公里后到达家门口的星巴克,一边儿把手表停下来,一边儿跟服务员说「Grande Pike, please.」喝着咖啡到家,孩子刚刚起床,正好送她们上学。市中心车水马龙,感觉像是刚从顺义到了国贸。

2017 年 9 月 8 日

————

看到有人转发了一则新闻,说九月十五日后未经实名认证的微博用户不再允许发微博或评论。脑海里浮现出一个梦魇般的场景:我端着身份证件不断自拍,好不容易上传成功,信息显示「请你等候审批,五至七个工作日」云云。

马上「放下包袱,发动机器」,去进行实名验证。结果无论是手机客户端、微博网站还是谷歌搜索,竟然都找不到如何按部就班地进行「实名认证」。找到的是「身份认证」、「橙V认证」和「蓝V认证」等概念,虽然都有点儿像,又似乎哪一个都不是真正的「实名认证」。而「实名认证」就像水中花,镜中月,似曾相识,又实则另有其人。

一个市值两百亿美元大公司的核心产品,用户体验的设计竟然如此令人无所适从,我虽然写了六年的微博,只得听之任之了。

2017 年 9 月 10 日

————

天色一晚,小女儿有点儿懒得弹琴。我心生一计,跟她提议:「要不然你先弹着,我给你剥开橙子?」她平时嫌剥橙子麻烦,甚至比弹钢琴还烦心,于是欣然答应。女儿五岁开始学琴,小时候经常脾气上来钻到钢琴下面,让人无计可施。带孩子就像海军的航母和汽车的发动机,真的是家里过日子的一项关键技术环节。

2017 年 9 月 12 日

————

记得两个孩子一个四岁一个一岁时,我有一段时间放假在家带孩子。中午好不容易做了点儿孩子能吃的东西,结果没吃几口就跑了。下午又不睡觉,最后我终于摸索出一个行之有效的办法,只需要带孩子开上车,车里晃悠一会儿就睡着了。可惜车一停下来就醒,害得我每天开车到处转悠。带过孩子,就一定会向世界上所有的妈妈们致以崇高的敬意。

2017 年 9 月 12 日

————

一年不如一年。

2017 年 10 月 23 日

————

收到系主任发的简短邮件,说John Carter最近去世,享年76岁。John退休前是系里的一位普通的讲师,和我共事多年,讲一年级的编程基础课。他为了提高教学质量,专门为学生写了一本教材,书写得言简意赅,通俗易懂,是这门课多年的亮点所在,今天春天我们最后一次见面时还聊到这本书。

邮件里提到会有「a party to celebrate John’s life」。我觉得「celebrate」这个词用得真好。比起「缅怀」、「悼念」甚至「沉痛宣告」,生前认识逝者的人更需要的是聚到一起,聊聊他以前的趣事儿和幽默,聊聊他对学生既严格又关心的态度,一起「庆祝」他的生平。

2017 年 10 月 25 日

————

和系主任闲聊时我高兴地宣布,刚刚又跑完了一个马拉松,一年比一年慢,跑了五个多小时。他感慨:I can hardly walk for five hours! 其实我跑步就是图着一年到头有一个一直记忆犹新的精彩片段,终点过后有女儿来接我,挂上奖牌合个影。将来把照片放在壁炉上,孩子一年一年长大,是属于我的荣耀和幸福。

2017 年 10 月 31 日

————

陪小女儿一起弹琴的间隙,忽然想到六年前十四岁的Jennifer Lin在TED上的一段钢琴即兴演奏(improvisation)。当年我推荐给姐姐,现在又跟妹妹一起听,我们俩都觉得行云流水,非常好听。

那时候对姐姐钢琴很重视,几乎每天都陪她弹琴。这几年不知为什么越来越忙,妹妹弹琴陪得越来越少了。我小时候不喜欢爸爸妈妈总是晚上去办公室加班到很晚,大概我自己给孩子的印象也很糟糕吧。其实陪孩子弹琴时正好可以聊天,没有手机干扰,聊一会儿弹一会儿也就没那么枯燥。希望将来能有更多的时间陪孩子弹琴。

2017 年 11 月 1 日

————

前几天是郭芳一个同学的生日,晚上她照常打了一个电话给她,聊了一小会儿,祝她生日快乐。郭芳的理论是,过生日一定要有一点儿仪式感。远点儿的朋友打个电话聊一会儿,近点儿的聚在一起,吃个蛋糕,吹个蜡烛,唱几句「Happy birthday to you」。

也许是因为我凉薄的性格,也许是因为太忙,或是因为不好意思,我好像有好多年没有在朋友生日那天打过电话了。日子一年年过去,能打这个电话的朋友也越来越少。将来还是写信吧,把那该有的仪式感都浓缩在一张信纸和一支钢笔中,再附上一张彩色照片,提前几周寄出。信是否能准时收到并不重要,无论如何也比在微信里飘几个蛋糕更加真实。

2017 年 11 月 2 日

————

周末发烧了,严重的时候甚至走不动路。连忙吃了Tylenol,昏睡了一整天,才慢慢好转。”You must listen carefully to your body,” as they often say. 感觉如果希望减少工作量,需要尽量减少出差,多拒绝别人的邀请,尽量少参与会议组织等事务性工作,这样才可以将有限的时间用在最重要的工作上。就像多年前系主任提醒我的:”You have to say no to people.”

2017 年 11 月 3 日

————

在波士顿的INFOCOM TPC meeting上简要介绍了我自己实现的全局排名算法,首次成功地将审稿人给出的局部排名转化为全局排名。算法设计基于the Schulze method,核心算法是用Floyd-Warshall计算all pairs strongest path,计算复杂度是论文总数的三次方,用Python实现,近1600篇论文运行时间需要一个半小时。参加会议的有两百多位学者,初步的反馈很不错。参考一位教授的建议,准备尝试基于Bradley-Terry模型的图算法,计算复杂度可能会更高,但是结果大概会更加精确。

十分钟演讲的幻灯片,里面的插图都是在iPad上用Paper by Fiftythree手工画的。手绘插图的好处首先是可以经常使用对比强烈而鲜艳的色彩,可以用水彩笔进行着重渲染,显得比较生动。其次是注意力可以集中在需要表现的内容上,而不需要考虑作图工具,创作和修改都更加轻松。十几张幻灯片在去波士顿一小时的航班上就做好了,把全局排名算法用几个简单的例子一步一步展示出来。节省了不少设计幻灯片的时间,忙里偷闲,心情愉快,也算是给自己的一个小小的生日礼物。

2017 年 11 月 13 日

————

小女儿的生日卡片上写着:「Wow, u r so old, 46% (5, I mean) of life already over」我细细品味一下,果然精妙。反语加上双关,「长命百岁」的modern twist。如果这句是上联,下联一定能找到「充电宝」。

2017 年 11 月 13 日

————

关于近来传得沸沸扬扬的江歌案,褚明宇长达七千五百字的文章是他开始撰写微博问答以来最精彩的一篇,也是我所看过有关此案的分析文章里最深刻的一篇,没有之一。

从《霸王别姬》写到《约翰福音》,从北京中级人民法院院长刘云峰写到美国电影《拯救大兵瑞恩》,文科生可以体验其生离死别弓弦中的人性,理科生则可以学习其一环套一环丝丝入扣的辩证逻辑。看完最后一句话时,就像一部Stanley Kubrick的电影刚刚散场,当主题歌再次响起时,还在回味着那种无法诉说的感动。

2017 年 11 月 15 日

————

我崇尚那种几十年如一日地注重细节的人。比如David Rockefeller有一个习惯,将日常见过的人都用小卡片记录下来。他享年101岁,积累了二十万张卡片,记录了十万人,包括周恩来、特朗普、肯尼迪和罗马教皇。利用这些卡片,即使多年未见,他也可以像老朋友一样问候。卡特总统去世后,他每年圣诞还一直给他的遗孀寄圣诞卡片。对细节重视到如此的地步,这才是真正的「上等人」。

2017 年 12 月 7 日

————

终于在电影院看了《芳华》。或许是因为严歌苓的小说功力不俗,这部电影在我印象中是四年前《致青春》以来最好的国产电影。喜欢其浓墨重彩的细节,比如那张以「中国人民解放军」抬头的信纸,那场「向文工团的战友致敬」的口号,还有那台用来放邓丽君磁带的单卡录音机。当以为永远不散的筵席终将散场,一直想说的话终于说出口时,才发现一切都已经「芳华已逝,面目全非」。

2017 年 12 月 17 日

————