2007年3月24日星期六

看红楼须看脂砚斋评

这两天湖北台在黄金时间重播87版红楼,有几集看得过瘾,有的对话没给出字幕,便去寻原文来对。因记得有人说“脂砚斋”是该书的审校者,因此搜的就是那大名鼎鼎的“脂砚斋评石头记”──《红楼梦》流传最好的版本。
找了对应回目,一路看下来,才发现我们这些现代人要欣赏红楼,一定要结合脂砚斋评语才能尽可能多的领略创作的细节和绝妙处,当然也能看到她认为某些值得作者再推敲的地方。

总之,感觉就像有个博学通古的读伴一样。怪不得有的人就靠写评注出成果的,呵呵,朱熹?

不过,即便是审校者,也并不一定明白知道作者的用意,性别和成长环境差别必然影响对事物的看法,女人总是容易陷得过于细微,何况是个才女。

2007年3月18日星期日

旧日志备份

Sunday Feb 11, 2007

习题6 上下文无关文法

形式语言与自动机,王柏 杨娟,北京邮电大学出版社 第二章习题6
构造上下文无关文法产生L={w|w属于{a,b}* , 且a的个数是b的两倍}








答: S->aXaXb, S->bXaXa, S->aXbXa,
X->aXaXb, X->bXaXa, X->aXbXa, X->e (e表示空串)
思路:S中任意位置可以是a或b或e(开始,中间,结尾),且a的个数是b的两倍——注意S不能为e,故引入非终结符X。

右线性文法习题

形式语言与自动机,王柏 杨娟,北京邮电大学出版社 第二章习题5

找出右线性文法,能构成具有奇数个a和奇数个b的所有a和b组成的字符串。

答:右线性文法的形式是A->wB或A->w, 所以从S开始,第一个字母是a或b:


S->aA, (1)

S->aB, (2)

因为S只能包含奇数个a,所以A中只能有偶数个a,限于右线性文法,需引入非终结字符X:

A->aX, (3)

X->aA, (4)

X->a, (5)

A->e, (e表示空串) (6)

同时A也可以包含奇数个b,因为S有奇数个b,根据(2)构造:

A->S, (7)


同理构造B:
B->bY, (8)

Y->bB, (9)

Y->b, (10)

B->S, (11)

B->e (12)


综合(1)~(12),就是所求文法的生成式P。

能不能再精简呢?



Saturday Dec 23, 2006

最近装的Firefox插件

  • Firefox showcase:一个添加各个tab页缩略图的超有用插件,试想一下,你已经打开了20+个tab,而你又像我一样从来不爱关掉工作用的PC,于是打开 的tab越积越多,要快速找到某个标签页或者整理一下,你一定会抓狂的,直到你安装了showcase...
  • POW 不是战俘,是Plain Old Web server,这是个运行在浏览器里的Web Server,货真价实,而且还能编服务器端脚本(没错,就是javascript)。干嘛用,别人我不知道,我用来做自动配置proxy,只要你喜欢编 程,你会喜欢这个小玩意的,你可以玩AJAX!

POW 0.07有个中文化的bug,导致你打不开option,没关系很容易改,看这儿

javascript API ref: http://linuxmafia.com/faq/Web/autoproxy.html

Tuesday Dec 19, 2006

wget with cookie

去otn下载软件还要登录,下载又断断续续,不得已请出wget,看看他的功力:

wget -b -t0 -c --cookies=on --load-cookies cookies.txt http://download-west.oracle.com/otn/linux/oracle10g/10201/XXXX.cpio.gz

嘻嘻,搞定!和去sun下载不同的是,sun在url里直接放了sessionid,所以不用那个cookie.txt(我从firefox的目录里拷出来放到另一台wget实际运行的机器里,空间大,又有UPS)。

Monday Dec 18, 2006

我有多怪异"nerdy"?

虽然不知道nerd的确切来源,但说一个有理工科背景的人有多怪异,基本上就可以用nerdy来形容。我有多nerdy,我是不是nerd,我不知道,在一个留美博士研究生的一个weblog里,看到一个测试你有多nerdy地链接,犹豫了一下,对题目忍不住好奇就点进去做了测试,没想到,比那个博士生的分还高,还怪异。

I am nerdier than 72% of all people. Are you nerdier? Click here to find out!



后记:实际上,分数越高越不nerdy.

Friday Dec 08, 2006

用touch解决make的问题

make的时候部分文件修改时间比系统时间晚,导致出现死循环,把所有文件重新touch一下:

find . -depth -print0 | xargs -0 touch -mc

命令串起来就像文字串起来,跟计算机说话的感觉不错 :)

Sunday Nov 26, 2006

tor+privoxy设置

真的很讨厌,ubuntu 610下privoxy的默认设置不会自己加上使用tor,需要手动设置。按照tor的README.privoxy修改/etc/privoxy/config即可。 没有tor查资料还真麻烦,很不爽!



补充一个小技巧,适用于netscape/mozilla/firefox/iceweasel系列浏览器:

  • 为了自动使用proxy来访问某个网站,其它网站使用直接连接,在自动配置proxy的选项中可以指向一个自动配置文件:



这个文件是个javascript脚本,内容如下:

function FindProxyForURL(url, host)
{
if (dnsDomainIs(host, ".wikipedia.org"))
return "PROXY localhost:8118";
else
return "DIRECT";

}
具体语法参看我google到的一个网页

Monday Nov 06, 2006

Sybase and Tomcat Configuration Notes

测试需要,为Roller配置使用Sybase数据库。这里是我创建的wiki页。 http://rollerweblogger.org/wiki/Wiki.jsp?page=Roller2.3InstallationWithSybase

Tuesday Oct 31, 2006

飘飘飘

2007年3月11日星期日

单侧浆划艇

名词解释
单侧浆:只在艇的一侧划浆。
划艇:不是划船,因为划船特指背对前进方向,呵呵。

与同事争论过能否单侧浆划艇,按照简单的物理知识,这是办不到的──船只会打转转嘛!

可是我亲眼见过一个年轻的渔民这么干过,一个人飞快的划船冲到湖中央把我老爸的鱼钩从渔网上解下来,呵呵,帅呆酷毕了,崇拜到死!电视里也放过一个缅甸还是泰国(抑或老挝?)的少数民族,就生活在湖上,男人们都用一只“脚”非常娴熟的摇浆划独舟,浆靠近舟尾,但还是架在侧边的。

昨天,终于有机会尝试了一把,如果你看到莫愁湖上有个人用一只浆笨拙的划艇,那就是我啦。我摸索的结果(可能不科学,但已经可以比较熟练的驾驭方向和速度,停靠码头等):
1. 动作一:坐船尾最后一排座位,正常划桨,划到末端要靠近船侧。可锻练腹外斜肌或背阔肌。
2. 动作二:转浆面,用力把浆向外拨出水面,这个动作其实就是摇橹。可锻练背阔肌暴发力。

上面两个动作有很多小技巧,都可以锻练到肱二头肌,说起来太麻烦,呵呵,可以免费面授切磋 :-) 物理上分析,两个动作产生的力距在前进方向上的垂直分量可以是相反的。

还有个新体会:和游泳一样,水上运动必须熟悉水性,也就是水上运动的节奏,回想一下,蛙泳的动作即使正确,但如果呼吸和连接的节奏不对,你要么呛水,要么游上几米就没力气了。划艇也是有节奏的,要体会船本身的摇摆,在恰当的时机发力和做动作才能稳定前行,或者及时根据风速、浪、水流来控制方向和速度。

免责申明:注意安全,湖水无情,我不保证上述动作的安全性,不承担由此可能带来的生命财产或任何其它损失的责任。

2007年3月9日星期五

带和不带epsilon转换的NFA的等价

以希腊字母epsilon作为空字符的符号(下面简写为e),带e转换的NFA(不确定有限状态自动机)和不带e的NFA可以通过形式化证明它们的等价性,以下分别记为e-NFA、NFA,他们的转换函数分别记为ed和d。北邮出版的《形式语言与自动机》在这个证明上让我看得不清不楚(一方面是证明步骤不够清楚,但主要是我自己理解的原因),google帮我找到另一个说的很清晰的证明, 只是这个网页是从其它文档转过来的,一些数学符号转换错了,但可以猜出来。

这里想用我自己的理解来说明证明的最后一个步骤:
若 d'(q0,wa)包含q0, 由转换函数的相等性,ed'(q0,wa)也包含q0条件1),初始状态q0如果被NFA最终状态集F1所包含( q0属于 F1)但q0如果又不属于e-NFA的终止状态集F( q0不属于F)──F与F1不等(F1=F U {q0})。需要证明,F一定有状态被ed'(q0,wa)包含。

此时,由e-NFA转换函数的性质和条件1,q0的epsilon闭包(记为 e*(q0))一定包含于 ed'(q0,wa),因此 e*(q0) 与F的交集A必然在ed'(q0,wa)中。而根据F1定义知,此时集合A非空,即F一定有状态被ed'(q0,wa)包含。此时,结论也成立。

好笑的是,我在南京新华书店看到电子科技大学一位老师写的《形式语言与自动机》里的同一个问题的证明有低级字误,证明里分别讨论“q0不属于F”和“q0不属于F”的“两个”情况,呵呵,而且后面一个步骤的证明居然赫然推导出:其实q0不可能属于F,我的天哪,瞬间晕倒!

google, 我的大学的门。