Oct 31, 2006

每周二的博客推荐(四)

一周时间过得真快,又是一个周二了 :-)

今早一出门就遇上了新闻事件,三环安贞桥路段早晨竟然有一辆车着火了。

fire

Tony 的新服务器已经架设好了,因为 blog spot 被封锁,所以打算利用 sftp 的方式发布到他的服务器上。

本周思维的乐趣好文不断,让我们来一起读读:

如何脱贫?

首先是《尤努斯:还穷人尊严和权利 》,本期思乐对小额贷款的介绍比较多,除了本文,还有一篇《个人可以改变什么》,和《向社会福利说不》

个人的力量是有限的,但又是无穷的。这里的个人,既是指最初在 1976 年拿出27美元借给村子里42个制作竹凳子的农妇的尤努斯,也指获得了这 27 美元的农妇。尤努斯将自己的 27 美元借给别人,获得利息,成立了格莱珉银行。而农夫利用这 27 美元成功地脱了贫。。。

”格莱珉贷款给乞丐,这种贷款免利息,而且不设还款期限。如果乞丐以乞讨得来的收入还贷,格莱珉不会接受。格莱珉利用一对一或者一对二的方式帮助乞丐,让他们自谋生路。有些乞丐可能只有一个眼睛,或者只有一条胳膊,他们只能待在一个地方,无法从事生产。但是即便是这样的人,格莱珉也鼓励他们在乞讨的同时,在旁边放上一些饮料或水果进行买卖。事实证明,乞丐确实也有商业头脑,他们在接受格莱珉帮助后,经常会尽量找一些黄金地段,以方便买卖小产品。尤努斯说,每个人都能创造价值,即便他四肢残缺或双目失明。“

一些问题的解决方式总是那么出人意料,但仔细想想,事实本该如此。
另外,鼓励大家都去看看《穷人的银行家》

如何面对生老病死?

《Vigeland sculpture park》,附带上一张照片《从哪里开始变老 》

最近读到了关于 Edgar Cayce 的一些报道,他是一个灵能者 <- 当然这是否属实,我无法证明了。他通过使自己进入一种休眠状态,能够回答一切问题。其中我所最关注的,是关于轮回转世

尽管我一直认为人类与动物有所不同,一个问题-为什么和人类同源的黑猩猩头发不像人类一样一直不停地长,或者说头发没有人类长?
但我实际关心的不是是否会有下一世,而是这一世对待生活,对待别人应该以什么态度来面对。要通往灵界,必须要达到极高造诣,这个造诣可以使人与人之间和睦相处,可以使自己事业风调雨顺,等等等等,这种造诣的人,究竟是个什么样的人?作为拥有自由选择能力的人类来说,怎样才能达到这样的造诣。

为的不是下一世的重复再来,而是希望能做到这一世的无愧于心。

如何获得成功?

《“有目的性的实践”》,以及《如何看费奥瑞娜给惠普的贡献? 》 都可以看看。

正面的与反面的,十年的计划和费奥瑞娜正反面的意见。

《最具悲剧气质的企业家》
用回复中的一句话概括:你和那个傻瓜吵,你这么聪明,(我们)不骂你骂谁。

抱着另一个回复的”白云苍狗无常,沉浮自有天命“的态度来看待自己的成功和失败。


很长时间都没有关于 Linux 的消息了,最近 Linux 的负面消息实在太多,什么 Hans Reiser - reiserfs 文件系统的作者的妻子失踪,可能是遭到丈夫的谋杀啊,Firefox 2.0 出 Bug 了啊,Linus Torvarlds 发布 2.6.18 时说话像海盗头啊。

社会在进步,不合时宜的东西自然会淘汰。

Oct 25, 2006

每周二的博客推荐(三)

又到了星期二,我对星期二有特别的感觉,因为小时候家里的有线电视一到星期二就进入维护状态,整天没有电视看,好在今天网络普及,只要 G F W 不发威,想看什么东西还是可以非常随时的。

下面开始正式内容:

洪晃找乐的BLOG

《资产阶级生活方式》,生活是什么样的?每个人有不同的感受。按照文章观点,虽然我的生活水平还处于无产阶级阶段,但是生活还是比较”大资“的。事实上我觉得新一代的人都挺”资“的,但也不排除像公司以前一同事是吉他高手,现在同样为生活而奔波一样,还是个生活态度问题。

思维的乐趣

《哲学女友》,人在 15-18 岁之间是最单纯最能够专注于技术的年龄,再大一点反而对人生之类的思考的更多了,胡正记得也是到了这个年龄开始学起了哲学。"人生两种stream,一个是老庄,讲顺应自然,无为而治,一个是儒家。"我想我属于在事业上偏儒家,很主动地希望能够改变结果,在家庭上偏老庄的吧,希望生活上能平稳而安逸。

FT 中文网-金融时报中文版

《中国父母对子女的教育是愚蠢的》,没博客了,拿文章充数。这篇需要注册才能看到。我倒觉得不仅仅是教育方式是愚蠢的,绝大多数做事方式都是愚蠢的,完全根据愚蠢的先验,而没有任何变通和思考。

一条回复是非常客观的,容我转一下:
其实,问题的根源并不在父母,而在社会。中国是一个封建思想很深厚的社会,人治的意识很浓厚,要治人就不喜欢别人超越自己,奴化教育是很厉害的,孩子的父母大多也受这种教育,所以不喜欢自己的孩子被超越。但是社会总在不断的发展,虽然他的步子还不够快……

暂时写到这里。

Oct 24, 2006

半夜做音乐


半夜做音乐, take by K*K.

自从开始学习音乐以后,听歌时的感觉都不一样了,会仔细去听歌里每一个乐器的音高,想像着它在键盘上的位置。

很佩服最早敲响第一个乐器的人,他把原本很单调的噪音混合才一起,成为了人类的一种享受。

现在使用的软件是 GarageBandIntuem ,都是非常入门的软件,但功能都很完善,GarageBand 使用的是真实的 Soundtrack 来做,而 Intuem 使用了 Midi 波表,前者更加真实,而后者可以直接打开 midi 文件并转化为五线谱。

挺喜欢感性和理性的兼有的,处女座的自己的,理性的分析周围和自己并做出计划来完成目标,我从目标的成功获得了自信-事情总是朝着自己预想的方向前进着;而用感性的心态去对待身边的每个人,去感觉生活中的美,把学习音乐的过程,变成跟着感觉走的过程。

有在哪里看到:感性的人改变别人来适应自己,而理性的人改变自己来适应别人,可是这个世界就是被一群感性的人改变的。我没改变世界,但也成功地改变了周围的人,并扭转了自己的命运。

后者的理性我觉得改成现实的人更好,感性不是任性,而是更多的同情和理解,更多地用心去感受,感性的人有理想,并愿意为理想而努力;理性也不是现实而成的麻木不仁,而是更多地客观的分析、做事、做人。

挺害怕自己变成一个鲁迅笔下的麻木不仁的人的,周围这种人其实已经很多了,每天为了生活而忙碌,不知所谓的忙碌,不知道明天的忙碌,感受不到月亮和星星的点光,感受不到所呼吸的空气的变化,很怕成为那样的人。

依然没有从神经衰弱中走出来,失眠、多梦,心悸和体温的不正常依然在折磨着自己的身体。近期的计划总是因为这些身体的不适而中断,但练习音乐却始终坚持了下来,每每弹奏起音符,身上的不适总是能立刻消失,音乐能医治人的心灵。

遇人不淑带来的后果是要自己承担的,起码我还有选择救恕自己的机会。 :-)

或许我再多顾及自己一点,也能少受不少伤吧。

最近晚上常陪 Limit 长谈,把遗漏的 blog 补上。

Oct 21, 2006

大哲学家

我有一位同事,前一段时间他解决了我的两个重大问题。

自由是什么?-我们现在就挺自由的!

超赞啊!这个问题本是我想用来回答什么是自由软件的。我不想出国的原因,就是因为在国内所有的软件都是自由软件啊!所有的音乐、书籍都是自由的啊,当然这个自由是假自由,是长不了的自由,同样是 free,freedom 的意义基本没有,免费的意义倒是非常可见。
现在确实除了经济上的苛捐杂税颇多了一点,开销和收入比忒差了一点,人还是很自由的,有足够的经济基础,想玩什么就玩什么,想去哪里就去哪里,十年前还关注你的户口本,前两年上北京来还要办个暂住证,现在谁管那些,除了小孩上学,户口本也基本没什么用处了。
从生活上而言,还要怎样自由?

活着为什么?-活到老!

再赞啊!谁能把这个问题回答得如此精妙?!
一帮幻想狂包括我在内都想这辈子干场大的,才觉得不妄此生,孰不知世界上最大的困难,就是让自己从出生一直活到自然死亡啊!
好死不如赖活着,活着可不就是为了让自己活得有滋有味的。

Oct 20, 2006

补上两天的 blog

limit 来北京找工作了,昨天开始暂住在我家。

我之前便帮他向公司投递了简历,今天参加了面试,结果未知,我下午去北邮 show 了把 XGL,明天再去刘那里探听一下风声。

limit 目前感觉是有点陷入困境的感觉,状态不是很好,今天他来投奔我,想起了当年我从家一个人跑到南京去投奔 Axin,应聘 Linux 讲师,然后又坐长途汽车到了常州,受到了吴文官的照顾。

与今天的 limit 不同的是,当时的我涩涩的,不知道未来会怎么样,有那么点迷茫,但依然信心满满,相信自己能掌握自己的命运。

人有朋友会是非常好的感觉,limit 是长期以来一直在支持我的人中的一个,今天我也在给他打气,希望他能够相信自己。

就写那么多吧,如果有能写的,会继续写下去。

Oct 17, 2006

又到了推介博客的时间了

又是星期二,聊聊这周看到的 blog。

思维的乐趣苏丝黄《FCUK (录旧作)》,很有味的一篇 blog,需要自己去品位。 :-)

嗯,暂时没了 -_-#

链上一个 Google Earth 迷的 blog,有空也可以自己去探探秘: http://blog.sina.com.cn/u/1400161487

试奏圆舞曲一首

新 MIDI 键盘绝对好用,努力靠它学习弹奏中。

下面是练习用圆舞曲一首,因无法 blogger 无法上传 mp3,遂只好用 GarageBand 生成五线谱上传。

弹得不好,懂谱子的自己看吧。 -_-#

melody

Oct 16, 2006

发烧无止尽


Control Panel, taken by K*K.

Keyboard, taken by K*K.

一边烧摄影一边烧音乐。

用耳朵去倾听每一个音符的跳动真的不是一般好的感觉,吉他弦因为因和五线谱上的七个音不同,再加上弦时间一长容易松导致跑音,我始终把握不住,但钢琴在这点上优势就很大了。

利用 Garageband 配合电脑键盘,基本把握了七个音符,但是感觉到了不够用,所以购入了这个键盘。

非常满意,后触的感觉很好,因为键位一下子延长了,我可以同时高低音配合了,而不用鼠标在虚拟键盘上游走。

持续锻炼中,还要看看说明书,把这个键盘的功能全部榨干。

Oct 15, 2006

“你有一双发现美的眼睛”


PICT5812.jpg, taken by K*K.

模模说:你有一双发现美的眼睛。
我想说:我还有一颗孤独的心和一个不甘寂寞的脑袋,而我妈奇迹般的把它们放进了一个身体里,铸就了今天的我。

Oct 14, 2006

利用 tc 控制出口流量。

tc 是 iproute2 中带的命令,用于控制 Linux 的网络传输流量限制。

这感觉是比 iptables 还麻烦的东西,因为公司拿了台机器在内网做下载,为了不影响普通员工上网,所以才有了这么一想法控制一把在网络中的下载。

整个公司都没人懂这玩意儿,只好自己摸索着了。 -_-#

tc 里利用 Linux 中的 QoS(Quality of service)对包进行调度,所以需要确保在内核中将 QoS 下的 Class Based Queueing (CBQ)、Token Bucket Flow、Traffic Shapers 设置为 y 或者 M。

tc 最少得有 3 条句才能达到控制流量的目的:创建队列 -> 创建子分类 -> 创建过滤器,而且还要和ip命令结果起来控制流入的接口才可以达到限制的。

理解不深,试验没有做完,以后再补充 -_-#

Oct 12, 2006

拍摄微距不发愁了


快门线
Originally uploaded by K*K.


今天新买的快门线到货了,for Minota/SONY 的,没用过原厂的,不知道怎样。

这个感觉一般,有点对不起它的价格,凑合着用呗。

厂商推出的规格有点惨,不是 80 厘米的就是 5 米,还有更长的 10 米的。

我买了 5 米的,缠了起来,还是觉得累赘 -_-#

Oct 11, 2006

Kernel 2.6.17 和 2.6.18 在 SATA 硬盘上的性能对比

在最新的 Linux kernel 2.6.18 changlog 中,我们可以看到大量关于 SATA 的修正和增强,那么新内核在 SATA 硬盘的传输率方面是否真的有所提高呢?这个只有测试一下才能知道。

测试平台是 DELL M1210 的小笔记本,内存 1G,硬盘是 Toshiba 2.5", 40GB, SATA, 16MB, 5400转, 9.5mm,型号为 MK4032GS 的笔记本硬盘。 -_-#

结果是:

Everest 0.2 update 1 的 2.6.17.13-36smp 的内核:

# hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads: 4712 MB in 2.00 seconds = 2359.41 MB/sec
Timing buffered disk reads: 96 MB in 3.05 seconds = 31.43 MB/sec

Everest 0.2 自己编译的 2.6.18smp 内核

# hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads: 4788 MB in 2.00 seconds = 2395.98 MB/sec
Timing buffered disk reads: 96 MB in 3.03 seconds = 31.68 MB/sec

这是在接上 AC 电源,重复运行三次 hdparm,让硬盘能够全速转起来得到的结果,可以看到 2.6.18 内核确实对 SATA 性能有一定提高,但是效果不明显,硬盘物理速度依然是瓶颈。

找空拿个台式机来做测试,可能拿 iozone 跑一把。

另一件有趣的事情,双核的机器在运行多线程任务,满负载的时候,两个核的占用率相加接近 100%,如果用 yes 大法跑单线程的满负载,可以看见 CPU1 为 100%,同时运行两个 yes 尚未测试。

找空做进一步测试。

Cpu0 : 76.1% us, 2.7% sy, 0.0% ni, 16.6% id, 0.0% wa, 4.7% hi, 0.0% si
Cpu1 : 13.0% us, 1.7% sy, 0.0% ni, 79.7% id, 5.0% wa, 0.0% hi, 0.7% si

Cpu0 : 47.8% us, 2.0% sy, 0.0% ni, 49.2% id, 1.0% wa, 0.0% hi, 0.0% si
Cpu1 : 48.0% us, 2.0% sy, 0.0% ni, 46.3% id, 3.7% wa, 0.0% hi, 0.0% si

补充测试,同时运行两个 yes,基本到了 200% 了 :-)

Cpu0 : 82.0% us, 18.0% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% si
Cpu1 : 88.2% us, 9.8% sy, 0.0% ni, 2.0% id, 0.0% wa, 0.0% hi, 0.0% si

Oct 10, 2006

近期 blog 推介

每天阅读 blog、新闻、文章无数,自然提神醒脑、赏心悦目。心想看了不能白看啊,以后每周二汇总一下所看到的,好的 blog,大家一起分享。

一!

jserv's blog - 台湾 Linux 高人黄敬群的博客,高人似乎近期也有不少犯错误的时候,近期的,已经转载过的 《寫程式的呆瓜》《GPL 授權的晦暗一面》,都非常值得一看。

《寫程式的呆瓜》 - 以 X Window 中,程序员在编写代码过程中常犯的缺少"()"为例,将可能发生错误的原因归结成了“无知”、“压力”、“厌烦”和“人类脆弱的根性”上,只要是人都会因为这些原因发生错误,所以我们有了 Bugzilla! ;-)

《GPL 授權的晦暗一面》- 以他的 qonsole 项目不小心触犯了 GPL 中的条款-忘记放入 Copying license 进去,导致他在 linux.com 上扬了把名。我也曾经在 flickr 上放过 leopard 的截图,虽然没有泄露任何程序,但依然受到了很多人的谴责。都引以为戒一把吧。

二!

思维的乐趣 -本周黄一琨发表的《又到选举时节 》写得非常有意思,用文中结尾的话“事实上,当这样一个大国,对于未来的主要安排只是确保一次运动会的成功,展现所谓的大国形象,我们已经早泄了”,就已经能够代表全文的中心思想了。

三!

洪晃找乐的BLOG -洪晃是陈凯歌的前妻,一代名媛章含之的女儿,为人不错,但处世泼辣,一些意见非常另类而深刻,她的博客非常值得一看,近期最有意思的莫过于:

《be 还是不 be》-以拜神和拜人,从非常侧面的角度,说明了用平常心待人的重要性,对于好人,因为崇拜(我个人理解还需要加上“或者贬低”四个字)对他而言都无所谓,所以用平常心待着就好,对坏人不管怎的你都完蛋,还不如干脆以平常心面对-死个痛快。我个人总是以平常心面对所有人的,所有人都一样,遵循一个原则-“礼上往来”,你敬我一分我敬你一尺,你得罪我一点我也不给你好脸色,不管是任何一个普通人还是我的上司一概如此,别人如何看我我不管,顾着自己的那份就行。其实本文也说明了一些择友方面的道理,你是愿意把你当平凡人的好人交友,还是愿意和高估或低估你的坏人呢?

另一篇《嘉宾油条》也非常的棒,看看名人出糗也是非常有意思的,按照一篇回复的就是“喜乐怒骂皆成文章啊”!哎,都是人,谁没个出错的时候呢。

四!

十字路口 - 这是从 QQ 的博客链接中挖掘出来的 blog,女生在感情上的细腻果然不是男生能比的,很少有看见女生的见解有如此全面,基本上把我想说的全部都说完了。 :D

推荐 blog:

关于钱的两篇《¥¥》《tiffany与<情人结>》

论述旧情和生活习惯的《旧情人的旧习惯》

女性择偶的《转》 -_-#

希望恢复的一篇《2005/06失去的记忆》,我也在受到重大打击后迷失了方向,希望忘记那段脑子里正不压邪的时间,当然,只要想起了最终的生活目标,一切的过去都无所谓,骨子里的东西始终不变。

《骄傲》 - “我们都是表面上随波逐流,骨子里却很骄傲的人。若不是自然发生又不可抗拒的爱情,我们是不会要的。” 赞!

《小变态》 - “人还真的蛮变态的,一旦不开心了就会把以前难过的事全部翻出来想一遍,一直到想到非常难过了才强迫自己不再去想,不知道这是不是一种自虐心理。”,我本想专门写一篇,人在受伤后的心理活动的,不管是谁,受伤后总是容易把过去发生的不开心的事情全部都翻出来,这或许就是人脆弱的本性吧,关键是要能够正确地认识到这一点,并正确地面对它。

不同平台的 nbench 性能测试

nbench 是个很有意思的基准性能测试工具。
能够对单颗 CPU Core 的性能进行内存、整型运算和浮点运算性能。

基准分是 AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38

以后我如果有新机器会随意测试一下性能,并记录在这里。

当然,nbench 仅仅支持单核也是它的缺点,但该程序更多的是测试 Linux 系统本身在进行一些计算时的效率。

其主页和下载在:http://www.tux.org/~mayer/linux/bmark.html

邹鹏程也有一份相同的测试报告在:http://pczou.blogchina.com/1529012.html




测试平台发行版整数浮点内存
PowerBook 17"(注1)Gentoo 2006.0(gcc4.1.1)14.51610.2599.502
PowerBook 17"(注1)Mac OS X 10.4.911.93112.74913.649
Intel 2.4G 开发平台(注释2)Everest 0.116.06030.18618.684
Intel 2.4G 开发平台(注释2)Gentoo18.38716.69221.326
Intel Core Duo*2(4Cores total) 3.2GRFDC 5.013.48013.48815.706
DELL Latitiude D820@1GHz(注释3)RFDT 5.0(2.6.17.1-7smp)8.50716.48010.019
DELL Latitiude D820@1.6GHz(注释3)RFDT 5.0(2.6.17.1-7smp)8.46916.3629.986
DELL Precision 690 Xeon 3.2GRFDT 5.0(2.6.17.1-7)9.09817.26115.180
Red Flag Alpha 下载服务器(注释4)Red Flag Linux 2.0 for Alpha2.3222.8473.247
龙梦盒子Debian etch3.3512.7272.469



注释1: 使用的 PowerBook 17" 是高清前一代版本,使用的 CPU 是 Freescale 的 7447A。
注释2: 该机是 Intel 使用了开发中的下一代单核 CPU(Core 2 Duo),提供给我们公司用于软件开发,目前没有在市场上销售。该机拥有非常强劲,可以直接感觉到的性能,它现在是我的工作机,它才是我开始记录这些测试数据原因-希望能拿其它电脑和它进行比较.
注释3: 这是在同一台机器上利用两种节电模式下运行的结果,1G 是处于 ondemond,1.6G 是处于 performace 全速,但非常奇怪两种模式下性能差别非常微小。
注释4: 一台少见的 Alpha 机器,目前在红旗用于下载,主频为 466Mhz,内存为 128M。

Oct 9, 2006

剩下要做的事情

日志的日期总算排好了,以后 blogger + flickr 就成了绝配。

多经历一点事情是好的,起码养成了写日志的习惯。

回顾网站的变迁,从最早在 .mac,然后到了 xcx.pl 又到了 dreamhost 到现在的 blogger。
希望 blogspot 不要被封,省得又要搬家。

名字也反映了我心理的变化。

“框框的小黑屋”是觉得自己是孤独的,历经之后觉得,嗯,还行 ;-)
“一面”写在上面是“一面之缘,灵机一动”,其实真实的意思我没说,前者本来就不通,缘分是不能用灵机一动来形容的,其实是我特别害怕双重性格的人,他们自身的思想可以和自己冲突,他们所说的话可以和行为完全相反,他们的逻辑让人莫名其妙,那时我感觉到自己的身边已经出现了这样的人。
“427 Error - Site not perfect” 是模仿了 HTTP 协议上的一个错误写法(最常见的是 200 OK 和 404 Not found),我拿了 427 这个没有用过的错误号,写上 Site not perfect,因为我知道自己是不完美的,尽管我一直都在理清自己的逻辑,但是思想的缺点就在于它本身是自相矛盾的。

一个人真正的思想是不能写在博客上的,博客是用来写给别人看的,是用来共享的,无论是技术,还是因为某些事情爆发的情绪,它们都是自己不想记住的,技术在不断变化,记住没有用,情绪也在不停的变动,不能因为情绪的变动而影响自己做人、做事的原则。

所以每次写完博客,我都会马上忘记。
真正的思想是需要溶于心中并化之为行动的,最终成为性格,所以还是让博客更加偏向于技术性的记录好了。

上面所说的,是我所吐露的少数真的思想中的一个。

剩下的事情:
1. 把遗漏的几个 blog 补上。(完成)
2. 处理好图片。
3. 重新修改旧 blog 以适应新 css 的版面。
4. 利用 feed burner/feedsky 一类的 feed 烧录商重新烧制 rss,以免因为搬家造成旧 rss 的失效。(完成)
5. 长期以来我比较低调,只有几个最好的朋友才知道我的 blog,以后需要小小的宣传一下。 :-)
6. 看看可否把旧的评论迁移过来,朋友的评论对我非常重要。(完成)
7. 想一个更加文驺驺而更加能够表达自身思想的博客名,“Site not perfect” 已经完成了它的使命。- 10月10日补充:QQ 把俺这名字链到了它的 blog 上,那就算了不改了,这名字也基本能反映我修身、修心的愿望,还是不错的。
8. 把字体调大一号,以适应 Windows 的显示,目前因为 css 和图片在其它服务器上,需要花一点时间重新上传并整理。

在此感谢长期支持我的好友们。

寫程式的呆瓜

大量的 blog 要修改发布日期,郁闷 -_-#
以后收心,都写点技术方面的。
转一篇 jserv 的 blog,也算引以为戒。

寫程式的呆瓜


單字 "goofs" 的意思就是「呆瓜」、「傻子」,多數的人應該都希望這個用詞不要套用在自身,而在我閱讀 Embedded.com 上一篇由 Ben Chelf 發表的文章 [Avoiding the most common software development goofs] 後,卻不由自主地反省起來。

之前的 blog [software validation 小記] 提過現在隨便一個知名的軟體專案,程式碼都已經跨越百萬行的門檻,面對這些大怪物,要如何證明並在有限條件內檢驗,就是當今最重要的課題之一,並且引用具有二十多年歷史的 X Window System 是如何遇到安全性的缺陷,[Coverity Inc.] 對此提出的因應方式,而剛剛那篇文章的作者就是 [Coverity Inc.] 的技術長,長期著墨於軟體品質的驗證與分析。說了這麼多,到底什麼行為稱得上是 "goofs",而這樣的愚昧又釀造什麼悲劇呢?[Avoiding the most common software development goofs] 給了一個明確的例子,試看以下程式碼片段:
    if (getuid() == 0 || geteuid != 0)                                                              
    {
    ...

出處為 Xorg xserver 的 hw/xfree86/common/xf86Init.c 原始程式,最近的版本已經做了安全性修正,所以跟以上列表不同。看起來沒什麼錯誤,順便複習一下 POSIX API,以下是 man page 內容:
    DESCRIPTION
    getuid() returns the real user ID of the current process.
    geteuid() returns the effective user ID of the current process.

X server 會佔據相關的系統資源並確保 UID = 0 以作最大程度的操作,以上兩個 API 即是判斷執行時期的權限。不過,這不是重點,[Coverity Inc.] 指出這是導致安全性缺陷的發生點,為什麼?注意到 geteuid 後面缺了 "()",這導致我們是以 0 去跟 geteuid 的 function pointer 去比較,而非其傳回值,恰好這個缺陷在某些情況下,會引發非預期的表現,在之前的 blog [software validation 小記] 已經引用說明,這裡不再贅述。所以,解決方式就是在 geteuid 多加個 "()",這樣的錯誤果然「呆瓜」,不是嗎?對比 X11 的眾多 Release 程式碼,可以發現這個缺陷存在多年。

Ben Chelf 整理了幾個開發者犯錯的因素:
  • Ignorance.
  • Stress.
  • Boredom.
  • Human Frailties.

字彙簡單,也容易理解,不過錯誤就這樣釀成。今天是 UNIX Desktop,或許只是導致伺服器出現安全性漏洞,修補一下即可,但如果明天是波音飛航系統、居家保全設施、醫療系統、... 又會如何?或許,[技術本身與道德無關;它沒有是非對錯],但無可否認的是,這些缺失往往造成道德問題,卻多肇因於這些 "goofs" 的行徑,Ben Chelf 的文章相當精彩,也讓我對自己不能精準的掌握類似問題的焦點並提出具體的解決方式,感到不安與歉意。

唉,雖然參與過好幾個軟體專案,不過至今還只是個會寫程式的呆瓜罷了。

Oct 8, 2006

靠,ISP 居然倒了。

前一个 ISP 居然在 30 号那天倒掉了,好不容易花了两天把旧 blog 倒到免费的 blogger 上来,还好现在 blogspot 解禁了,不过指不定哪天又要被封。

这次还好,刚好在上个月 26 日备份了一次,要不然肯定要哭死。

以后 blog 要留两份,blogger 这里一份,my donews 一份。

顺道清理了一下,只是日期丢了,所有的 blog 都要重新排一遍日期。

可怜的 Tony,请我吃了顿麦当劳换来的共享主机,没用到两天就给咔嚓了。

还在和以前的 ISP 交涉中,把我数据丢了的罪过,可不小。

About Me

My photo
This web site recorded something interesting about free software, photographics, music, other stuff and a little tic.

My new website location in www.kuangxuqing.com