这是一个逻辑问题,有兴趣的可以看一下Daniel的这个A Little Brain Teaser,下面的comments也很有意思。
September 2008 Archives
最近车坏了,水箱裂了个小缝。运气还不错,车正好在开入车库的一刹那开始冒烟,没有坏在半路上。换了个水箱,花了450刀,就当破财免灾吧。
年底的时候要回国,香港转机,索性就在香港玩几天吧。昨天在网上订了酒店。booking.com这个网站很不错,基本上每个hotel都会有不少用户的comments,最终选了个评价比较正面的。
被鸟袭击。那天去家附近的一个ATM机取钱,结果路上被一只黑白相间的鸟突然抓了2次头部,被吓了一大跳,后来那只鸟停在了路边的房檐上,我看了它一眼,继续向前走,没想到那只鸟又飞过来抓我。我跑了几步,它才没有跟过来。回来的时候,我想看看走马路的另一边,鸟会不会飞过来,没想到它依然在马路对面飞了过来。跑了两步才躲了过去。后来听室友说,她走到那一段的时候也会被鸟袭击,看来鸟中也有恶霸。
Demo终于在昨天基本上完成了,接下来要尽快的把paper写出来,due date已经很近了。
float与int之间类型转换的低效是由其bit存储结构决定的(见图)。例如:
int i = 5;
float f = i;
其中i与f的二进制存储结构是不同的,二者的转化涉及到了存储结构的转换。
对于i来说,
5 => 5 * 2^0
5 => 2.5 * 2^1
5 => 1.25 * 2^2
因此当i向f进行转换时,需要计算小数部分23bits中每一位的值,使其无限接近0.25。后再计算exp部分使exp-127的值为2。从而得到最终的f。
另外一个例子:
int i = 5;
float f = *(*float)&i;
在这个例子中,由于i的存储结构并不会发生变化,也就是
00000000 00000000 00000000 00000101
但是它会被按照float的存储方式来解释,也就是
1.(2^(-21)+2^(-23)) * 2^(0-127)
一直没有给VPS装ImageMagick,以至于Movable Type中无法显示缩略图。今天尝试安装了一下,先装了ImageMagick,然后再安装PerlMagic,但是装完后通过mt-check.cgi依然是ImageMagick没有安装,更严重的是mt.cgi竟然无法显示出登录界面了。google了一下,发现了一个solution。问题的主要原因是PerlMagic无法找到它所需要的ImageMagick libraries。follow其中的solution,问题就解决了。
在做research project和写paper的时候,有一个问题一直困扰着我。究竟系统或算法的input size (e.g. dataset的大小) 增加到多少才算进行了一次有效的scalability test?毕竟很多系统都是在input增大到一定程度的时候才会出现问题,但是这个程度却似乎很难估计。甚至做实验的时候,有时很难把这个input size增加到很大,倒不是不想,而是有很多东西限制着。记得前一阵在做XML keyword search system,我们首先需要parse XML document并且为其中每一个keyword通过B+ tree建立inverted list,但是当XML document增大到上百兆的时候,建立index的过程将是痛苦的,在laptop上运行了1个多小时,index文件增加到上G,却依然没有结束,无奈之下,在最后的scalability test中放弃了选择如此大的input size,太耗费时间了,但如果input size达不到一定值得话似乎又说明不了什么问题。或许给我一台64位高配置的机子情况会有所不同。
最近看了一篇文章,google也会有scalability的问题,这要得从gBrain extension for Firefox说起,感兴趣的可以看这篇文章Google Public Relations,这里真得赞一下google对待其用户的态度。
今天在网上发现了University of Florida两个关于算法和数据结构的课程资料,包括lecture notes等一些很有用的东西,有兴趣的可以去看看。有时看lecture notes会比看书更高效一些,更容易抓住重点。












Recent Comments