Thursday, August 16, 2007

Developing Ldap service provider

为Harmony编写Ldap的servic provider是一件很花功夫的事情。我必须首先阅读RFC 2251,整整40页的A4文档。这个规范定义了与Ldap server进行交互的协议,并且给出了数据报的格式。困难在于,所有数据报的数据格式,均采用ASN.1规范定义。又是一个146页的文档。阅读纯技术文档的一大感受——就好像是在读小说。刚开始的几页津津有味,开始囫囵吞枣,最后一目十行。可是,用读小说的方法毕竟达不到要求,谁有读文档的经验不妨分享一下。
我的经验就是,必须强迫自己做笔记,记录下来重点。比如ASN.1编码实际上就是声明一个数据结构,这一点从其名字(Abstract syntax notation)就可以看得出来。上过数据结构课的人,也应该知道,数据结构中常用的一个词是Abstract data type。ASN的不同之处在于,针对不同的应用领域,这个规范定义了一些现成的,比基本数据类型(如布尔型)更多的数据类型。如针对图像定义了存储图像的类型。与计算机的高级语言有一曲同工之妙。而ASN.1的数据组合方式有如下5种。

1。对于一组有序的类型,针对每种类型取一个值,有序排列。形成的所有新值,组成一个新类型。
2。对于一组无序的类型,针对每种类型取一个值,无序。形成的所有新值,组成一个新类型。
3。一种类型,其取值得重复排列,形成一种新类型。
4。一组各异的类型,任意取值。
5。对于一个类型,对其值进行排序,或根据一定结构筛选。

Sunday, August 5, 2007

证明:Theorem 15.1: (Optimal substructure of an LCS)

Let X = 《x1, x2, ..., xm》 and Y = 《y1, y2, ..., yn》 be sequences, and let Z = 《z1, z2, ..., zk》 be any LCS of X and Y.

1. If xm = yn, then zk = xm = yn and Zk-1 is an LCS of Xm-1 and Yn-1.
2. If xm ≠ yn, then zk ≠ xm implies that Z is an LCS of Xm-1 and Y.
3. If xm ≠ yn, then zk ≠ yn implies that Z is an LCS of X and Yn-1.

1.如果zk ≠ xm ,则zk ≠ yn 。令z k+1 = xm = yn,则《Z, zk+1》是CS,但是长度大于Z。同时,若存在比Zk-1长的CS,则的长度大于Zk。得证。
2.xm ≠ yn & zk ≠ xm,若zk = yn,Z不是LCS of Xm-1 and Y,则Y中不存在一个yl,使得l大于n,有zk+1 = yl
若zk ≠ yn,Z不是LCS of Xm-1 and Y,则存在zk+1 = yl = xo,使《Z, z+1》是CS of Xm-1 and Y。进一步,是CS of Xm and Yn 。矛盾
3 同2。

上海夏日的乌云

我南北向坐在淮海中路瑞安大厦的8楼,整个淮海中路展开在我的脚下。下午4点,天上的乌云像是一块黑布,把我眼见之处遮了个严严实实。路两旁的高楼林立,零星的灯光从高楼的窗户中懒懒的掉出来。路上,立交上的汽车看不清车型,车灯形成了条条红黄的线条。乌云显得更加的诡秘。时不时地,天空中闪电掠过,远处雷声轰轰的飘来。
雨点打在玻璃窗上,电脑屏幕的亮光将我的脸映在了玻璃上。这样的场景,我联想到了电影情节中的世界末日景象。心中感觉兴奋。在上海这个平淡的城市,风景如此独特,给我带来了难得的快感。

图片转自:http://www.flickr.com/photos/tengis/184874485/

Saturday, August 4, 2007

眼如脱兔


最近的封号,由Jimmy大哥起的。相当贴切。说的是一对清澈明亮的柳杏,很灵活的转动,迅猛之式,犹如脱兔。一般用来形容一个男子英俊潇洒,富有灵气。哈哈,谢谢Jimmy大哥。

Thursday, August 2, 2007

差距阿

为什么人家23岁玩游戏玩出一个亿,我就玩去了IBM? 人家是nubility,我...