Monthly Archives: October 2008

育婴奇谭

凡是看过这部影片的人都发誓说,他们从没笑得那么剧烈。然而,美国人早在近三十年前,就已经体味到这部电影史上最著名的喜剧片带来的乐趣了。 霍华德·温切斯特·霍克斯1938年执导的《育婴奇谭》不仅情节狂乱、对白精彩,而且叙事手法干净利落。简而言之,它是一部荒诞喜剧经典。令人难以置信的闹剧情节是围绕加里·格兰特和凯瑟琳·赫本饰演的角色展开的。《育婴奇谭》是凯瑟琳·赫本出演的第一部喜剧作品,她凭借本片甩掉了“票房毒药”的恶名。 自从执拗、爱异想天开的苏姗(凯瑟琳·赫本)带着她的家养小豹崽“宝贝”和宠物狗“乔治”介入古生物学家大卫(加里·格兰特)的生活后,大卫的安稳日子从此消失了。腼腆、拘谨的大卫正处于事业上名利双收的最后冲刺阶段,只需要再安上一块小骨头,他就要完成一整副恐龙化石的重组工作了,而这一工作成果会给他所在的博物馆带来一百万美元的收入。但大卫怎么也找不到那块骨头,因为小狗乔治把它叼走了,于是大卫的麻烦一个接着一个地来了。 确实很搞笑,没看的可以看看,也曾是IMDB top 250上的电影。凯瑟琳·赫本是美国电影史上可以说是史无前例的人物,我现在收藏的还不全,有空要继续收录。

Posted in 电影世界 | Tagged , | 3 Comments

系统编程中的几个问题

aMule 会只让启动一个实例,如何实现的? 崩溃时会打印出堆栈信息,如何做到这一点? 多个定时器,如何做到? fork, vfork, clone 有什么区别? copy on write, close on exec 是什么意思? select, epoll 等的区别。 dup, dup2; SIGPIPE

Posted in 系统编程 | 3 Comments

p2p accelerator

http://www.ezboosters.com/ http://www.download-boosters.com/utorrent-turbo-booster/ http://www.brothersoft.com/internet/p2p_file_sharing/ 有哪些公开的p2p软件,它们分别是什么协议和原理?

Posted in p2p | Tagged | Leave a comment

Suggested Research Reading List For Database

http://sourceforge.net/docman/display_doc.php?docid=17391&group_id=23316 根据标题去找吧,可能有些URL已经失效了。

Posted in Berkeley DB | Tagged | Leave a comment

Berkeley DB __env 类函数

这一类函数首先申请大的内存块作为内存池(memory pool),以后使用时直接从块上获取,避免多次动态分配释放产生碎片,实现了对内存使用的优化。 下面这个例子改写于Berkeley DB 4.6.21中程序,去掉了一些和ENV相关的处理。4.7.25有一些变化。

Posted in Berkeley DB | Tagged | Leave a comment

The godfather (II)

Hail Mary, full of grace. The Lord is with thee. Blessed art thou amongst women. Blessed is the fruit of the womb, Jesus. Holy Mary, Mother of God, pray for us sinners. 万福玛丽亚,满被圣宠者。主与你同在。 赐福妇女。 你儿耶稣也蒙赐福。 圣母玛丽亚,为我等罪人祈祷。 地上树叶被卷起,天空中乌云蔽日,在肃杀的气氛中,随着湖中一声枪响,天空中传来一只鸟的惊叫,站在岸上的Michael低下了头。

Posted in 电影世界 | Tagged , | Leave a comment

Berkeley DB BTREE 访问模式

有了HASH存储系统的知识,Btree存储相对容易理解一些。

Posted in Berkeley DB | Tagged , | 1 Comment

Berkeley DB 中的 Memory Pool(MP)

MP 是 Berkeley DB 中一个很重要的数据结构,几乎所有的数据库存取操作都要归结到缓冲于Memory Pool中页的存取。 首先是 DB_MPOOL 结构,它包含一个指向 REGION 结构的指针,对于 Memory Pool,可能有多个这种 REGION,为简化起见,这里只画出了一个 REGION 的示意图。,还有一个 dbmfq 的链表头,指向 DB_MPOOL_FILE 类型的链表,这种链表和每个DB* 指针关联。

Posted in Berkeley DB | Tagged | Comments Off

Berkeley DB HASH 桶分裂

下面这个测试程序可以看看桶分裂的内部。

Posted in Berkeley DB | Tagged , | Leave a comment

电信访问北美网站似乎快一些了。

http://tech.sina.com.cn/t/2008-10-09/00452497168.shtml 首个中美间兆兆级直达海底光缆开通 从电信服务器ping此虚拟主机比我网通ping的居然时间还更短。。传统已被颠覆啊。。

Posted in 杂七杂八, 生活 | Leave a comment

Berkeley DB HASH 访问模式

Berkeley DB HASH访问模式采用动态HASH技术,在一个桶元素过多时自动将桶分裂,桶中元素的个数可以由DB->set_h_ffactor来进行控制。对于一个给定的key,Berkeley DB首先对它计算HASH函数,结果会是一个32位整数,由于每个桶相应的掩码长度可能不一样,Berkeley DB并不直接将这个整数作为对应的桶,而是先和一个掩码进行与运算,这个掩码就是high_mask,如果得到的结果大于max_bucket,则和low_mask进行与运算,得到的结果就是这个key对应的目标桶。在一个页上的元素一定在一个桶中,一个桶上的元素也一般分布在一个页中,但是某些元素字段很长,这种元素被称为overflow元素,似乎一个元素长度只要超过page大小的1/4即被认为是overflow元素,即便某个页上的空闲空间能存放这个元素。当出现overflow时,页和桶的关系不再是一比一,因此出现了spare数组。

Posted in Berkeley DB | Tagged , | 2 Comments

Berkeley DB QUEUE 访问模式

在Berkeley DB的集中访问模式中,QUEUE是最简单的,页和记录是一种线性关系。 在插入记录时,不能指定key,因为key是系统自动生成的整数。 和其它的几种访问模式一样,page 0 仍然是meta页,由QMETA表示。最小512字节。 插入数据需要调用DB->set_re_len设定记录长度,这个长度不能超过页的大小,这意味着不能有很长的记录。企图插入超过这个长度的记录会报错,不足则会自动补全,补全字符默认好像是空格,似乎可以调用DB->set_re_pad来填充。 数据页的头部由QPAGE结构表示。所有的数据项顺序存放,当一页的空间不够时再申请一页。每个页上的lsn字段标识最后被修改对应的LSN。 当数据被删除时,它并没有被真正删除,只是被做上删除标记。这样当大量的插入删除之后,数据库中可能有很多的空档,为了节省空间,QUEUE提供了extent概念,每个extent容纳一定的页。

Posted in Berkeley DB | Tagged , | Comments Off

韩国又有艺人自杀了。

先是李恩珠,再是 郑多彬,然后又是安在焕,崔真实,前赴后继啊。

Posted in 生活 | Leave a comment