路边的对话

太太已经八十多岁了,为什么还没有上天呀?

因为时候还没有到啊。太太是我妈妈,为什么要上天?你从哪里听来的?

我听我朋友说的。她们说岁数大了就会上天。

那我是不是也要上天呢。我年纪也大了。

你不能上天,我还没有长大呢

你不是长大了吗?你经常说“我小时候”

不行!

公务员,奶奶和其它


P: …我以为公务员都是比较有钱的。

I: 只是部分公务员在部分时期比较有钱。譬如书上说,80年代时最热门的职位是粮食局,因为在那个计划经济年代他们管物资的分配。在80-90年代大部分公务员和教师过得都很穷。

P: 这倒是的。我们家就是这样。我奶奶要求特别高,只吃新鲜的菜,每天还要吃两个鸡蛋。我刚出生那会儿我妈为了保障奶奶的鸡蛋,每个月都要跟同事借钱周转买菜,发了工资再还钱。

I: 你奶奶是不是地主家大小姐?

P:不知道…

I:那她是不是特别霸道?特别自信

P:霸道谈不上,但的确特别自信。就是很拽,对所有人都颐指气使

I:说不定年轻时有丫鬟使唤。

P:现在我爸妈日子过得还行…反正那些钱够吃喝玩乐了。所以我妈现在特爱国,说共产党多好,现在日子比以前好很多

I:这是以牺牲另一群人为代价的

P:是。

传奇的堂兄

Pan今天谈到了一位早以断绝来往的堂兄,可能距离上次联络已经过去了五年。此兄母子脾性类似:懒惰,爱多吃多占。据Pan回忆,在她中学年代,为了给她和妹妹热饭,家里买了个崭新的微波炉,结果堂兄来看到后立刻搬回了自己家,把Pan妈气的不行。

后来堂兄并没有上大学,又嫌弃老家亲戚们帮忙找的工作太累,于是在那个网络不发达的年代买了个学历证书,去北京闯荡,搭到了一个家境殷实的富家小姐并结为夫妻。在那段婚姻持续期间,堂兄每次回到家乡,便摆出在北京见过大世面的态势俯视众亲戚,想必Pan也遭受了不少奚落。Pan至今仍然不能理解那位小姐是如何看上堂兄的,“是不是上过大学一下就看得出来,她怎么就被那张假学历证书骗到了呢,可能是堂兄ing擅长甜言蜜语吧”。不过堂兄的本性最终暴露了,第一段婚姻以离异收场。

在那以后堂兄又前往广州闯荡,炒股赚了几十万,又娶了一位娇妻,仍然懒得工作。每当被催促时,他总是有恰当的借口:“等买了房再说”,“等生了孩子再说“,”等孩子大了再说“。此时堂兄的经济境况不如在京时宽裕,每次回乡都要劳烦另一位堂兄弟在家乡的高级饭店接风洗尘,并邀请一帮同龄人冒充大学同学陪座,以免假学历的谎言不够完美在妻子面前穿帮。这位负责接待的兄弟虽然平白付出金钱精力,倒也无怨无悔。

Pan对堂兄的母亲也大为不满。起因可能是这位常年失业的姑母从弟妹手中搜刮到了钱财,转身就进行了全家春节港澳奢侈品采购游,回来后不光炫耀经历和奢侈品,还要对勤俭持家的弟妹们(可能包括Pan父母)一顿鄙视。

Pan愤愤地推测堂兄的第二段婚姻也已经结束,人生应很落魄。

这个堂兄的经历让我想起了托马斯佩因,《常识》的作者。他们都不甘于家乡平淡的工作,娶了一个首都的妻子并以离异告终。虽然Pan没有提到,但堂兄很可能也有着强烈的对外界的不满。不同的是,佩因的母亲还是很善解人意的,因为久久没有佩因的消息,她写信给佩因之妻询问:

“我曾再三向你诉说我儿子的不孝行为,但我现在仍然迫切地想知道他的下落,请你不要以此为怪,他的忘恩负义已经到了这种地步,而且两年来一直没有给我一字一句。你碰上这样一个最恶劣不过的丈夫,我感到很抱歉。“

他妈妈不知道佩因已经与之离婚。

两件小事

最近做了两件让我感到非常幸福的事情。

第一,是更改了tmux的快捷前导键(the key which sends prefix)。以前一直用的是默认的Ctrl-B,而我又喜欢在tmux里嵌套tmux,这样在切换window或pane的时候需要反复按Ctrl-B,近两年工作下来,左手小指已经有明显的酸痛感。

具体来说,在.tmux.conf里添加下面几行就实现了这个需求。
unbind C-b
set -g prefix F8
bind F8 send-prefix

更改过程中发生了小插曲。我改了.tmux.conf后,即使启动新的tmux session,prefix仍然是Ctrl-B,我误以为是KDE自带的Konsole 3.5不能正确处理NoMachine nx传递的F1-F12的keycode(如果真是这样那我会比较麻烦)。后来发现, .tmux.conf只有在第一个session创建的时候才会被读入。
第二,是买了一个OGK的自行车前篮。

由于天气炎热,背着书包上班的我每天汗流浃背的感觉真不好受。我的双肩包底部宽度是38cm(使用iPad的Ruler应用测量得到)。现有的车筐和淘宝几乎所有自行车筐的底部宽度都是小于32cm的,当然价格也相当便宜,都在50元以下。万幸的是我找到了OGK车篮,这是唯一符合我需求的篮子。底部宽度达到了40cm,承重是12kg,我的双肩包塞满后也不过4kg重。虽然它的价格要108元,但真的是物有所值。

basket

Remap right Option key as Ctrl on MacBook

Right Option key is almost useless for me and the built-in keyboard lacks a right Ctrl key.  I find Karabiner. It works perfectly!

[2014.9.25 update] I find Karabiner could alter behavior of  USB mouse. As we know, ‘Scroll direction: natual’  is really nature for MacBook’s trackpad, but not that nature for mouse wheel.  Karabiner could retain normal wheel behavior while keeping trackpad ‘natural’

My setting is attached

Screen Shot 2014-09-25 at 10.53.48 PM

Firefox多个用户配置文件(Profile)的设置

工作后,在同一个浏览器里同时浏览工作内容和私人内容多有不便。Firefox提供了启动时选择Profile的选项。以OS X为例

$ /Applications/Firefox.app/Contents/MacOS/firefox-bin -P personal -no-remote

这样在启动时可以直接选择personal这个profile。不同profile的插件、浏览记录等完全互相独立。

还可以把这行脚本简单包装成一个OS X的App。细节如下。Info.plist拷贝自/Applications/Firefox.app/Contents/Info.plist并作简单修改(粗体标出)。如果没有它,BetterTouchTool无法对启动的Firefox窗口提供Snapping功能。另外可以自行制作.icns图标放到”/Applications/Firefox(p).app/Contents/Resources”。

$ mkdir “/Applications/Firefox(p).app”
$ mkdir “/Applications/Firefox(p).app/Contents”
$ mkdir “/Applications/Firefox(p).app/Contents/MacOS”
$ mkdir “/Applications/Firefox(p).app/Contents/Resources”
$ cat “/Applications/Firefox(p).app/Contents/MacOS/Firefox(p)”
#!/bin/bash
/Applications/Firefox.app/Contents/MacOS/firefox-bin -P jinyao_personal -no-remote
$ cat “/Applications/Firefox(p).app/Contents/Info.plist”
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>html</string>
<string>htm</string>
<string>shtml</string>
<string>xht</string>
<string>xhtml</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>HTML Document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>HTML</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>svg</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>image/svg+xml</string>
</array>
<key>CFBundleTypeName</key>
<string>SVG document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>TEXT</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>NSDocumentClass</key>
<string>BrowserDocument</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>text</string>
<string>txt</string>
<string>js</string>
<string>log</string>
<string>css</string>
<string>xul</string>
<string>rdf</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Text Document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>TEXT</string>
<string>utxt</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>jpeg</string>
<string>jpg</string>
<string>png</string>
<string>gif</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>fileBookmark.icns</string>
<key>CFBundleTypeName</key>
<string>document.icns</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>GIFf</string>
<string>JPEG</string>
<string>PNGf</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>oga</string>
<string>ogg</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>audio/ogg</string>
</array>
<key>CFBundleTypeName</key>
<string>HTML5 Audio (Ogg)</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>ogv</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>video/ogg</string>
</array>
<key>CFBundleTypeName</key>
<string>HTML5 Video (Ogg)</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>webm</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>video/webm</string>
</array>
<key>CFBundleTypeName</key>
<string>HTML5 Video (WebM)</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>firefox(p)</string>
<key>CFBundleGetInfoString</key>
<string>Firefox 32.0</string>
<key>CFBundleIconFile</key>
<string>firefox(p)</string>
<key>CFBundleIdentifier</key>
<string>org.mozilla.firefox</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Firefox(p)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>32.0</string>
<key>CFBundleSignature</key>
<string>MOZB</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLIconFile</key>
<string>document.icns</string>
<key>CFBundleURLName</key>
<string>http URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>http</string>
</array>
</dict>
<dict>
<key>CFBundleURLIconFile</key>
<string>document.icns</string>
<key>CFBundleURLName</key>
<string>https URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>https</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>ftp URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>ftp</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>file URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>file</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>3214.8.25</string>
<key>NSAppleScriptEnabled</key>
<true/>
<key>LSApplicationCategoryType</key>
<string>public.app-category.productivity</string>
<key>LSMinimumSystemVersion</key>
<string>10.6</string>
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
<key>i386</key>
<string>10.6.0</string>
<key>x86_64</key>
<string>10.6.0</string>
</dict>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>NSPrincipalClass</key>
<string>GeckoNSApplication</string>
<key>NSDisablePersistence</key>
<true/>
</dict>
</plist>

iPad难觅理想浏览器

对于iPad浏览器的要求:

  1. 支持Firefox书签同步
  2. 支持外接蓝牙键盘快捷键
  3. 有“阅读器”功能
  4. 可以将网页保存到Evernote

 

对键盘快捷键的支持只存在于Safari;Dolphin浏览器不支持1、2、3;Foxbrowser只支持2;Mercury Browser支持阅读器功能但速度非常慢,另外用键盘打字时显示有明显滞后。

[转载]我的心悲伤过七次

Seven times have I despised my soul:
我的心悲伤过七次

Kahlil Gibran,1883—1931 纪伯伦

The first time when I saw her being meek that she might attain height.
第一次,是当我看到她本可进取,却故作谦卑时。

The second time when I saw her limping before the crippled.
第二次,是当我看到她在瘸子面前跛行而过时。

The third time when she was given to choose between the hard and the easy,
and she chose the easy.
第三次,是当她在难易之间,却选择了容易时。

The fourth time when she committed a wrong, and comforted herself that others
also commit wrong.
第四次,是当她犯了错,却借由别人也会犯错来宽慰自己时。

The fifth time when she forbore for weakness, and attributed her patience to
strength.
第五次,是当她因为软弱而忍让,却声称为自己的坚韧时。

The sixth time when she despised the ugliness of a face, and knew not that it
was one of her own masks.
第六次,是当她鄙夷一张丑恶的嘴脸,却不知那正是自己面具中的一副时。

And the seventh time when she sang a song of praise, and deemed it a virtue.
第七次,是当她吟唱赞歌,却自诩为一种美德时。