Good good study, day day up

aleung的学习笔记, aleung的idea

啊,硬盘又满了,要清理一下了。每个电脑使用者都常常要面对这样的问题,硬盘越来越大,可是里面要塞的东西也越来越多。要清理硬盘,首先就需要找出是什么东西把硬盘占满了。有一些工具可以帮助我们,显示出每个目录占用的空间大小,但通常这些工具都只能简单的列出某层目录所占用的空间大小,并不能给出整个硬盘空间的占用情况。

WinDirStat,这个移植自Linux KDE KDirStat的软件通过直观的图形告诉你硬盘的占用情况。我觉得这真是非常优秀的人机界面设计,不用复杂的操作,界面也不算繁复,一切信息那么一目了然。

看看这个程序的屏幕截图,很简单。下面的图表示硬盘的文件大小分布,每个小方块代表一个文件,文件越大,方块面积越大。

  1. 在左上部分的目录树中选中一个目录,分布图中会通过白色方框告诉你这个目录占用了多少磁盘空间;反之,鼠标点击图中的一个方块,会在目录树中将这个文件定位出来
  2. 鼠标指向任一个方块,在状态条中显示对应的文件名
  3. 不同颜色代表不同文件后缀,在右上部分的后缀列表中选中一个后缀,分布图中此后缀文件所对应的方块会突出显示
阅读全文 »

JFK,一部政治电影,导演在叙述他的政治观点的同时,更在诠释着民主与自由的理念,国家、政府与人民的关系。下面一段是片子最后半小时,检察官在法庭上的陈述,其实也是电影要表达的思想的总结。文字绝对不如电影有震撼力,这部3个小时的电影值得一看。

电影介绍:JFK

  有谁会为埋在廉价墓地里的奥斯瓦多感到伤心呢?没有。几分钟之内,关于奥斯瓦多的不实报道就传遍了全球。传说出自政府,新闻界的消息来自政府。当局在撒谎,史诗般壮观的肯尼迪葬礼迷惑了我们的双眼和我们的头脑。希特勒说过:越大的谎言就越有人相信。李哈维奥斯瓦多,一个疯狂的孤独的无名之辈,想出风头而暗杀总统,只是一长串名单中的第一个替罪羊。而近年来,罗伯特肯尼迪,马丁路德金,凡是想改革想和平的人都是渴望战争的权贵们的眼中钉。这些人也都被疯狂的孤独的个人杀害了。这些没有意义的个人愚蠢行为使我们毫无内疚。我们都成了哈姆雷特,认杀父仇人为亲人,让凶手占据着皇位。
  
  肯尼迪和他被害的秘密与我们在我们的美国梦中相遇,他向我们提出这样的问题:我们的宪法核心是什么?我们的生命价值又是什么?一个国家的总统被杀害,在诸多疑问面前,它的司法机构只会发抖。这个国家的民主又是什么?还有多少政治谋杀,将会说成是心脏病发作,将会说成是自杀、癌症和过量吸毒。还有多少飞机失事和车祸,将会发生在事情暴露的前夜?
  
  有一位英国诗人曾经写道:背信弃义永远不会成功。为什么?因为他成功了就没有人叫他背信弃义。为什么美国人民还没有看到赞布鲁得的录像带?为什么成千上万的文件可以作证,为什么却被政府撤掉并烧毁?每次当我在办公室或是你们人民提出疑问,要求查看证据,得到的回答总是:国家安全机密。我们的国家领导人被夺取了生命,还有什么国家安全可言?什么样的国家安全允许剥夺人民最基本的权利,并批准一个看不见的政府统治美国?这样的国家安全,陪审团的先生们,当它闻起来如此,看上去如此,感觉到如此,你们就可以叫它——法西斯主义!
  
  我向你们提出发生在1963年11月22日的事件,是一场政变!它最直接最可悲的后果,就是改变了肯尼迪从越南撤军的决定。每年消耗800亿美元的战争,是美国收益最大的生意。肯尼迪总统的谋杀案,是由政府最高层事先策划,由五角大楼和中央情报局当中鼓吹战争的狂热分子实施。你们面前的克莱肖就是他们当中的一员!
  
  这是毫无疑问的。可却被达拉斯警方、特工处、联邦调查局和白宫里臭味相投的人庇护起来,这里还包括艾德加胡佛和林登约翰逊,我相信他们在事后成为共犯!因前总统遇刺而进入白宫的那个总统,一方面尽可能多的大谈渴望和平,同时在国会里为他的军事合同伙伴充当生意代理人。
  
  现在有人说我简直是疯了,一个南方小丑在寻求高官厚禄。这有一个简单的办法能证明我是否是一个偏执狂。要求从前总统遇刺中受益的那两个人和你们的新总统里查德尼克松公布中央情报局关于奥斯瓦多和杰克鲁比的51份文件,或是在复制时被毁坏的,或关于奥斯瓦多在苏联活动的秘密备忘录。这些文件是你们的,是人民的财产,你们付了钱的。但是政府或许认为你们都是孩子,会被事实吓坏,或许你们会过于激动,私自处死有关人员。所以在未来的25年里,你们看不到这些文件。
  
  我现在40岁了,所以我熬不到那一天了。但是我已经告诉了我8岁的儿子,让他保持身体健康,以便在2038年一个光荣的9月早晨,可以走进国家档案馆,发现中央情报局和联邦调查局的秘密。他们可能会把时间再次推迟,这可能成为几代人的事。父亲把问题传给儿子,一代传一代。不过总有一天,在某个地方,某个人发现该死的真相。到那时,我们最好,我们最好给自己建立一个新的政府。正如《独立宣言》所说的:任何形式的政府一旦起破坏作用,人民便有权予以更换和废除。
  
  一个美国博物学家说:一个爱国者必须随时准备和政府斗争,以保护他的国家。我很不愿意处于你们今天的地位,你们有很多事情需要思考,你们看了公众没有看到的证据。回想起我们小时候,大多数人都认为正义是自己降落在我们中间的。美德是对美德最好的回报,正义一定能够战胜邪恶。可我们长大后发现事情并不是这样。我们每个人都必须为正义而斗争,这并不容易。因为真理总是会引起权势们的恐慌,我们不得不冒着风险和权势们斗争。像艾塞姆赫兰、李鲍尔斯、杰希恩、威尔奥吉夫,都冒了很大的风险向前走去。
  
  我这有从全国各地寄来的8000美元,分票毛票一元两元,来自家庭主妇、伐木工人、汽车推销员、教师,他们都是平民百姓,他们都不富裕。他们开着送货车,他们在医院护理病人,他们看着自己的孩子开赴越南。为什么?因为他们在乎并想知道真相,因为他们想找回自己的国家。因为只要我们能为自己的信仰而斗争,这个国家仍然是我们的。
  
  寻求真理,仍然是我们最重要的人生价值。如果真理已经被政府谋杀,如果人民不再受到尊重,那么这个地方就不是我出生的那个国家,肯定也将不是我想终生与之厮守的国家。
  
  但尼生写道:当权者忘却了死去的国王。这就是约翰福特肯尼迪的真实写照。他的被害也许是我们国家历史上最可怕的事情之一。我们的人民,我们的陪审制度,今天面对对克莱肖的裁决,代表着人民与政府斗争的希望。所以我恳请你们,在解散陪审团之前,给克莱肖定罪。我肯请你们。不要问这国家能为你做什么,问自己能为国家做什么!
  
  不要忘却你们死去的国王。这仍然是一个,一个民有、民治和民享的政府。只要我们活着,没有比这更重要的了。
  
  全看你们的了。

阅读全文 »

今天读报,《市建委主任拍胸脯,天河塞车三年内一定解决》。去年6月他就说三年内可根本解决天河交通问题,到现在一年半过去了,堵的继续堵,不堵的也开始堵。我不知道他为什么说话不给自己留条后路,既然他这么说,我就拭目以待,天河塞车问题是我们切肤之痛。我不知道他近日说的三年是从现在算起的三年还是去年说的三年,不过人家说是根本解决啊,根本解决了之后是否就不会再有塞车出现?要真是这样就算要等上四年五年,十年八年我也很高兴了,但别让我等一辈子就行了。

关于如何解决广州交通的问题,政府的规划看上去还是挺美的,分析了各方面原因并给出解决方案,不过我觉得还有一点原因没有提,就是广州的交警不作为。现在的道路通行能力差,我觉得近半原因是混乱造成的,这个不解决,修更多的路更多的桥也不管用。不能老怪市民没有素质,都是给逼出来的——老实人吃亏,现状就是鼓励违反交通规则的人,你要老老实实开车、老老实实过马路,那就慢慢等吧。但是这点给建委主任提也没有用,不归他管,因此我是挺替他担心的。

我不是专业人士,不敢像人家那样拍胸脯说些言之确凿的数字,只能胡乱发布些自己的看法。

天河的道路的通行能力都不高,因为车速上不去,每个路口都是一个瓶颈,路口的通过量制约了整条道路以致路网的通行能力。天河东西向没有一条路具备主干道的能力,广源东路更多是作为区域外环通道,对区内交通帮助不大。随着城市东部人口不断增加,将来天河的交通压力越来越大,如果没有主动脉,我看很难有什么本质改变。

在车道设计上,也会对通行能力做成影响。例如有些地方转弯半径过小,大车要小心翼翼的过,甚至转不过去,后边就堵上一长串车龙乐;一些车道要在高架桥的桥墩之间绕来绕去;公交车站就设立在路口旁边。天河城的多车道港湾公交车站本来挺好的,偏偏到了出口处就要挤成一团,如果改成像高速公路出入口那样,出口延伸出去对应一条车道可能会好些。

阅读全文 »

ACE(The ADAPTIVE Communication Environment)是一套功能非常丰富的open source C++ library/framework,虽然目前已经有相关的一些书籍和在线文档,但要全面的掌握它依然不是一件容易的事情。

花了几天时间,将ACE的主要功能整理了一下,用 mind map 归纳出来,这有助于了解ACE提供些什么功能,也可以用作速查参考,查找要实现某项功能时应该用ACE的什么类。

下图未将节点完全展开,请下载: ACE.mm (使用FreeMind打开)

阅读全文 »

在C++中进行格式化字符串的生成,通常有两种方法。一种是C风格的,使用sprintf生成格式化字符串,用str系列字符串函数进行字符串(实际是内存buffer)的拼接、拷贝等操作。另外一种是C++风格的,用string stream类通过流操作来生成格式化的字符串。

在使用上,两种方法各有长短,在这里不作分析。我发现的问题是string stream的效率相对C的方法效率比较低。

编写了两个程序做对比测试,都是模拟写日志文件的操作,往文件里面写入特定数量的文字信息,每行包括了字符串、整数,分别使用两种方法生成同样的内容。为了避免代码其余部分造成的影响,使用rational quantify采集运行的时间信息,只比较生成格式化字符串部分的代码运行所占用的时间。做了多次测试,结果都表明,C++风格方法的耗时是C风格方法的3倍。

结论是string stream的效率相对sprintf要低,实现同样的功能耗时大概是3倍左右。其实STL慢是很正常的,毕竟复杂很多,只是没想到慢这么多。其实大多数应用中,这也不算什么问题,毕竟现在的处理器能力这么强,只有在对性能要求极端严格的场合才需要把这因素考虑进去。

阅读全文 »

不要以为我说的是流行的杀人游戏,虽然也有人将这个游戏搬到网上来玩。我下面要贴出来的是一部小说,原名是F2F(face to face),可能是译者觉得“网络上的杀人游戏”这个直白的名字更加让人容易了解小说的内容。

我读到这小说的中文翻译是在1997年春节,是清华大学的一个同学给我的。(那时还不知道有杀人这种游戏)。当时同学叫我不要传出去,因为译者可能想要出版。今天整理旧文件的时候把这个document翻出来了,google上搜索一下,没有找到任何相关的资料,看来书是没有出成。都过了那么久了,不忍心让它埋没了,把它贴出来共享一下。在此向翻译者致敬(抱歉我不知道他的名字)!

这小说有一定年头了——相对日新月异的网络发展速度而言,小说中所说的网络不是现在大家熟知的Internet,而是由一个个拨号BBS站台组成的网络,网友通过model拨号登录到本地的BBS上传下载信件或文件,异地的BBS之间会定时交换信件。我读这小说的时候,正在玩FIDO NET,所以对小说的背景相当熟悉,感觉小说很吸引人,不知道现在的读者还会不会有这样的感受了。也藉这篇小说,怀念一下CFIDO上的岁月。


网络上的杀人游戏

阅读全文 »

我们程序的IRI backend使用了ACE Proactor作为TCP client的框架,proactor实质上是使用了asynchronous IO(aio)从socket上读写数据。异步IO将速度慢的I/O过程留在操作系统内部进行,不会阻塞用户线程,因此在应用中无需使用多线程也可以达到较高的效率。AIO在windows平台上使用比较广泛,称为CPIO。Solaris 9是支持aio的,按理说不会有什么问题,可是我们的程序就出现了很多奇怪的问题。

  • 有时CPU占用莫名其妙的很高,即使没有从网络收发数据
  • 进程的lwp数量会变化,某些时候不断增加
  • 用truss跟踪程序的时候,CPU就会降低

反复检查过程序,都没有发现问题,程序只有一个线程进入了proactor,怀疑是ACE的proactor内部创建了线程,但看过ACE代码,里面也没有spawn线程。而且aio就是为了提高用户线程效率,让单线程可以处理大量并发IO的,没有理由需要再创建多线程。

我们的鬼佬chief architect是hacker出身的,他跟我们一起查找问题,最终找到了原因。

Some notes for us on AIO to help us better understand:

阅读全文 »

在8个双内核CPU的SUN 4900上运行多线程程序居然比起2个CPU的440更慢,发现原因在于memory allocator的问题,缺省的malloc库只适合于单线程,内存操作是序列化进行的。更换了mtmalloc就正常了。另外还有一个选择是用libumem。

http://developers.sun.com/solaris/articles/multiproc/multiproc.html

http://forum.sun.com/thread.jspa?threadID=24312&messageID=91895

换别的memory allocator也很简单,程序都不需要重新编译,仅仅修改启动脚本就可以了:

LD_PRELOAD="/usr/lib/libmtmalloc.so" ./_my_application_
阅读全文 »

书买了不少,放在办公室的书柜里老是被人家拿走就失踪了,时间长了自己都忘记自己有哪些书了。本来想找过软件来记录藏书资料的,却找着了一个网站 www.listal.com ,在线管理自己的book/music/dvd。而且它能够根据ISBN号自动从 amazon.com 获取书籍的信息。

我的页面是 aleung.listal.com ,上面列出的都是英文版的书,其实我英文没有这么厉害,大部分都是中译版,不过为了能够自动取得书籍信息,我都登记了原版书的编号。有空试试把DVD也记录上去。

另外有个个人书籍管理软件eLibPro,也可以从amazon拿到书籍信息。

阅读全文 »

Blog这个东西还真挺厉害,原本以为只是给那些网络知识分子闹的,还有就是广大网民百姓自娱自乐,现在可连各类名人都纷纷“博”起来了。文化界的人老早就在网上非常活跃,只是我平常上网只看技术方面的东西,不知道而已。

今天无意中还看到了何勇的blog(麒麟日记),还不知道是真是假,从一些文章看来应该是真的吧。记得早两年还看到什么传闻说何勇已经得了精神病:( 看来网络就是好,起码能让人知道他没有进精神病院。

按摩乳的blog有意思,他的友情链接更有意思,都是国家级男女流氓啦,限制级男女文青啦之类的。下面是从他的blog中copy过来的,我觉得很搞笑。

五分钟电视剧:《余秋雨开博客》

[新浪网办公室]
公关小姐:请问您是余秋雨老师吗?
[正在枉凝着眉头做文化苦旅状的余秋雨突然听到了一个曼妙的甜甜的声音,赶紧把拧成中国结般的眉头舒展成了额头的两道弧线]
余秋雨::我似余秋雨,请问您是哪位?
公关小姐::我是新浪网公关部的,我叫博一客。
余秋雨::您找我有事么?
公关小姐::对不起,余老师,打扰您了,想占用您点时间。
余秋雨::没关系,你说。
公关小姐::是这样,我们新浪网开了博客空间,想请您到我们这里开一个博客,您看您在社会上有这么大的影响,写了那么多有理、有力、有节的文字,连三陪小姐都看您的书,说明您的文字成了这个时代的文本。
余秋雨::对不起,我没听清楚,你刚才说的是什么?博客?跟嫖客有什么关系?
公关小姐::哦,您可能不知道吧,那我就再给您介绍一下,博客就是……
[公关小姐坐地日行八万里般地一通介绍,把博客的来龙去脉,上下五千年介绍一遍,电话那头的余秋雨听得一头雾水,但是他舍不得这么好听的声音,否则他会立刻挂掉电话。]
余秋雨::我不明白,我写的日记干嘛要让别人看?这样他们又要拷问我的灵魂了。
公关小姐::余老师,您误会了,其实不一定是您写的日记,您平时写的那些脍炙人口的文章都可以贴在上面,让大家欣赏不是一件很好的事情吗。只是博客这种网络日志,非常随意,想写什么就写什么,比如您今天去买菜看到了什么,您去大学作报告的感受,您看报的时候对一些新闻事件的产生的看法,都可以写到博客上。
余秋雨::这么说我明白了,就是什么都可以写在上面,那我可以骂那些攻击我的人么?
公关小姐::当然可以。
余秋雨::可是我平时很忙,没有时间啊。
公关小姐::我知道您忙。您看,余华老师都在我们这里开博客了,他平时也很忙,但是他说,再忙也要在新浪开一个博客,因为我喜欢这种网络日志形式,对我来说是一种新的体验。您看,你们都性欲,不对,都姓余,凭什么他都开博客了,您就不能开呢?
[这招的确管用,我平时采访的时候就惯用这种伎俩,如果遇到不想接受采访的人,就来这招,保管管用。您看罗大佑、刘欢、崔健、李宗盛都谈了自己的看法,您要是不谈谈的话,好像少点分量。要知道,名人的虚荣心都很强,虚荣到虚怀若谷的境界了,你要是这么一说,他立马就上钩]
余秋雨::嗯,网络是一种很新颖的形式,我觉得网络带给我很大方便,我经常上网,但是对博客这东西我的确比较陌生。
公关小姐::没关系,您不明白的事情我会帮助您,只要您登记注册就行了。
余秋雨::登记?我几年前已经跟我太太登记了,再登记就是重婚了。
公关小姐::余老师,您理解错了,我说的登记啊,就是在网络上注册一个您的名字,这样就可以让人识别您了。不然的话,人家会以为您是余杰呢。
余秋雨::你说什么?余杰?如果他在新浪上开博客,我坚决不开。
公关小姐::余老师,您放心,我们不会请余杰开博客的,因为他的文字里面敏感词太多了,就算是在我们那里开博客,根本贴不上去,会把他气死的。
余秋雨::那你们还是让他开一个吧。
公关小姐::那您开不开呢?
余秋雨::开!为了气死余杰,我也开。
公关小姐::那您的博客叫什么名字呢?
余秋雨::就叫“文化甜饼”怎么样?
公关小姐::太好了,您不愧是一个学者,给博客起名字都那么高雅、那么有文化,不像有些人,给博客起名字叫什么“按摩乳”,多下流啊。人啊,就是这样,多读一本书,境界就不一样啊。
余秋雨::那我写的东西你们怎么付我稿酬呢?
公关小姐::是这样,您开了博客,会给您带来更大的影响,会有很多媒体关注的,您的文章会转遍大江南北的媒体,到时候,您就多往邮局跑吧。
余秋雨:这我还没想到。那好,我决定开博客了。
[于是,在半推半就之间,余秋雨的博客像羞答答的玫瑰静悄悄地开一样出现在第二天的新浪新闻首页上:余秋雨博客]
余秋雨唱:就这样被你征服,喝下你藏好的毒,我的心情是坚固,我的决定是糊涂……
公关小姐唱:就在半推半就之间,我们越过时空相见,每一分钟换成一年哦,究竟能有多少缠绵,就在半推半就之间,我们忘了还有明天,忘了保留一点时间哦,好让这种感觉永远,迷迷糊糊睁开双眼,醒来你已了无踪影,再回到梦里,梦已不相连哦……讨厌,似梦似真,转眼改变梦已不相连……
那些没有被新浪搞定的名流唱:大错特错不要来侮辱我的美,我不是你的style为何天天缠著我,大错不要来侮辱我的美,但要是你喜欢我就快点大声说出来。
公关小姐唱::多想说声我真的爱你,多想说声对不起你,你哭着说情缘已尽,难再续,难再续。就请你给我多一点点时间,再多一点点问候,不要一切都带走,就请你给我多一点点空间,再多一点点温柔,不要让我如此难受。你这样一个名人,让我欢喜让我忧,让我甘心为了新浪的博客,付出我所有。
开博客的众名人合唱:我们的博客它就要开,往哪儿开?往新浪里开。我们的博客它就要开,往哪开?往垃圾堆里开……
新浪全体员工合唱:我必须学会新的卖弄呀,这样你才能继续地喜欢呢。因为网络是个天生的哑巴,它必须想出别的办法说话……

阅读全文 »