CS lab 北侧的走道上总是有一个萌妹子。

她总是靠着墙边打电话。有时把手机插在插座上充着电,并且把一只脚向后翘起蹬在墙上。

听说她是在给她男朋友打电话。她和她男朋友是同一个 lab 的 PhD,只不过他男朋友现在在 Google,在美国。

听闻同一个 lab 里有三个男生追她,她选择了长得最丑的一个,因为这样比较安稳,也许会来得更长久。两年前他们俩手牵手出现在 lab 里的那天,另外的那两个追她的男生喝得酩酊大醉。

今晚在 uni bar 喝酒时,听 ZD 说道,闻她最近被她男朋友甩了,并且她因此哭了好几个晚上。更听说她已经决定把 PhD 给 quit 了,去找份工作。

从 bar 回到 lab 的时候,我见到 lab 北侧的那条走道上有另一个妹子,在靠在墙边打电话。

用 Evernote 有三四年了。最早是因为 Google Notebook 关停才不得已转到 Evernote 的。

Evernote 免费版有一些限制,比如同步流量限制、Android 客户端不能离线、Android 客户端不能设置密码;要 Premium 才能使用;而 Premium 又太贵,于是去年我也用了一阵子的有道云笔记,但是后来由于用户体验、隐私等等原因,用了一个月也就没再用了,还是坚守 Evernote。

但是 Evernote 有几大问题,是即使购买 Premium 也无法解决的:一是没有 Linux 客户端,二是出现 conflict 时很傻逼,三是组织层级还是不够。

同时解决这三个问题的方法倒也简单:直接全部笔记用 Markdown 一类的文本写,然后 GitHub 上面弄个 private repo 来放。

缺点在于放短小的笔记即时同步不那么方便,但是那种情况下我用 Google Keep 就好了。

打算正式抛弃 Evernote。

Debian 自己最简安装以后装 Xfce,又很多小棱角(比如屏保、主题、GTK+ 引擎等等)需要自己打磨,太麻烦,索性装 Xubuntu 了。也许是传说中的“过了折腾的年纪了”。

装 Xubuntu 以后也陆陆续续做了很多事情才算顺手,记一下:

  • 卸载 Pidgin、Orage、xfce4-dict。
  • 卸载 Thunderbird(基本都用 Gmail 了)。
  • 卸载 Parole,换 VLC Media Player + GNOME MPlayer(gstreamer 还是太过阳春)。
  • 卸载 Thunar,换 Nautilus(Thunar 功能不够,并且根据测试,内存使用并不低)。记得装nautilus-open-terminal
  • 卸载 gMusicBrowser,换 DeaDBeeF(谁叫我是 FB2K 十年老用户)。
  • 卸载 Ristretto,换 Nomacs。
  • 安装 VirtualBox。
  • 安装 TeXworks(纯粹因为习惯)。
  • 安装 Intellij IDEA、WebStorm 等 JetBrains 全家桶(学生免费授权)。
  • 安装 Google Chrome(写前端,浏览器多多益善)。
  • 安装 Darktable(功能不如 Lightroom 强大,但是也算够用,处理相机 RAW 有用)。
  • 安装 Nomacs(快速查看相机 RAW 有用)。
  • 安装 BleachBit(类似以前在 Windows 下的 CCleaner)。
  • 安装 GNU Octave。
  • 安装 Rime。

Different languages have different behaviors for a loop over a list that modifies the list itself:

JavaScript:


var l = [16]
l.forEach(function(x) {
    var p = x / 2
    if (l.indexOf(p) < 0) {
        l.push(p)
    }
})
l

[16, 8] is returned (results are the same using for-in loop). Newly-added item (8) is not iterated over. PHP acts in the similar way.

Python:

l = [16]
for x in l:
    p = x/2
    if p not in l:
        l.append(p)
l

[32, 16, 8, 4, 2, 1, 0] is returned. Newly-added items are iterated over. Ruby acts in the similar way.

Scala:

val l = MutableList(16)
for (x <- l) {
    val p = x/2
    if (!(l contains p)) { 
        l += p 
    }
}
l

A list of (32, 16, 8) is returned (as of Scala 2.10.4) (results are the same using .foreach). I cannot think of any reason that Scala does this.

:(

提起音乐盒,我就想起那个在五华山附近的小店里买的木质的八音盒。

那应当是我小学的时候,似乎那时候那条路上的车还很少。那一家并不明亮的小店应该卖各种木质的小工艺品的。一家三口一起散步的时候我们偶然见到那家店,便在那里买了一个木质的八音盒。

唯一有印象的是,它的声音很安静。

在周末的午后,家里的阳台上照进非常安静的阳光,空气中的点点灰尘在阳光下清晰可见;我在翻箱倒柜找东西的时候,偶然见到那一个木质的音乐盒,把它拿出来放在安静的阳光下,转动发条,听那空灵的声音。

后来以我毁物不倦的本性,它上面的木条和木板被我一块一块弄掉下来,最后的尸骨已不知去向。

可那清澈的声音,却一直留在我脑海里,仿佛代表着最后的童年,久久不肯散去。