I am LAZY bones ? all linux

2009年 05月 的归档

bones7456 WP theme 微调

看到Matrix 67的blog的主题,觉得有一点很不错:就是右侧的最新评论那里,一开始是每个评论只占据一行的位置,只有在鼠标放上去的时候,才会把内容展开.
这样的好处很明显:平时节省页面空间,布局也更漂亮,鼠标放上去的时候显示出该有的信息,也不影响使用.
于是,有样学样,把这一小细节学习了过来(呃..好吧,其实就是抄了过来…).
在实现上,没去动WP带的dynamic_sidebar函数,而是偷懒了一下,在页面基本展开完以后,用js处理了一下style,并添加事件函数.看现在是不是更好看了?
之前我都只敢放5个最新评论,因为再多,就不美观了.现在放10个也不是问题.
如果你也喜欢并想试试本WP主题,可以到这里下载最新的代码.
:-)

gentoo升级后的若干问题

半个月前的某一天,我正在对gentoo进行常规更新的时候,记得当时emerge到了wine,突然屏幕一黑,机器就保护性关机了…用手一摸CPU附近,那是相当地热…
于是,最近一段时间都没有升级过gentoo.
直到后来,我把本本后盖打开,清理了一下里面的灰尘.听风扇的噪音,明显比之前小了很多了,温度也没那么夸张了.于是又开始升级了,一看已经积累了108个包要编译了.这还是我mask掉新内核的结果.
编译之后,nautilus 到了2.26.3,晚上下班后,重启进系统,就发现不对劲了,一堆的窗口把窗口列表塞满了… 后来经过试验发现,只要我一把 /apps/nautilus/preferences/show_desktop 这个勾去掉,就会启动N多个nautilus的窗口,下面的窗口列表里瞬间被挤满了..并且还在不断增加,直到内存耗尽…
问了keke他的情况刚好和我相反,是勾上那个勾勾才会出问题…这个估计是nautilus的bug了,没时间深究,等上头更新了,现在就先看着本不想看到的桌面吧…

还有一个好玩的问题,就是我的音量调节的图标没了,之前还以为是 gnome-volume-manager 这个包的问题,后来TX提醒我才想起这个volume是卷(磁盘分区)的意思,和音量根本没关系,汗了…这算不算英文词汇的匮乏呢?
其实,那个音量调节的applet是在 gnome-base/gnome-applets 里面的.重新编译了一下,又可以用了.而且,那调音量的滚动条变横着了…我怎么觉得还是没竖的好看呢?

====20090630更新====
nautilus疯狂打开窗口的问题终于好了…难道是昨天编译了gnome-base/gnome-session-2.26.1-r1的原因?不管怎么样,我的桌面总算又干净了~

测试一下你的网站打开有多快

一个网站好不好,内容固然是最重要的,但是也不能忽视了其他指标,例如:打开速度.按照一般公认的说法,如果一个普通的页面,打开需要8秒以上,那么就极有可能被用户关掉了,我觉得最好是能在5秒以内,嘿嘿.
那么站长门肯定会关心一下自己的网站打开到底有多快了.于是,拿个秒表,一手点浏览器的刷新按钮,一手启动秒表…测试几次,打开计算器取平均值? 这也太土了,测试结果也不够精确,这么程序化的工作,当然要交给程序去做. 于是就有了这个简单实用的小(web)程序: WebWait. 打开页面,输入url,点击”Time It!”按钮,默认地,它就会帮你打开5次页面,每次间隔1分钟,记下时间,并算好平均值给你.当然,测试几次,还有测试间隔都是可以设置的.
例如, li2z.cn 的打开速度就是:
2.11s

由gmbox发现了一个python文档的bug

今天lerosua还是说gmbox在他电脑上运行不了,我终于觉得不对劲了,因为在我机器上,已经是没有问题的了.
稍微分析了一下,发现错误是这样的:

  File "/home/leros/work/gmbox/src/lib/parser.py", line 49, in handle_starttag
    if v[n.index('title')]==u'下载':
AttributeError: 'tuple' object has no attribute 'index'

这附近的代码是这样的:

                (n,v)=zip(*attrs)
                if v[n.index('title')]==u'下载':

所以,首先想到的自然是zip这个自建函数,它返回的n和v到底是什么呢?tuple还是list?
于是去查了下官方文档,就发现不对劲了,文档中的例子:

>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zipped)
>>> x == x2, y == y2
True

按这样的描述,返回的x2和x应该都是list,但是实践了一下,发现返回的却是tuple…这不乱了吗?于是又跑了一下这个例子,最后一行却不是True,而是(False, False)…就这样发现了文档的一个小错误.
可怜我之前一直非常崇拜python的文档,认为它简直就是文档的典范,详细,可读性也好.现在,突然发现一点瑕疵,不免有些失望呢,TX说也有相同的感觉,哈哈.不过,想想自己能给最喜欢的文档提个bug倒也蛮有成就感的.
python开发也很是活跃,这个bug提交上去以后,仅仅用了15分钟,Georg Brandl就已经把它给干掉了~哈哈,新的文档,最后那里改成了:

>>> x == list(x2) and y == list(y2)
True

于是我也学者这个样子,给我的gmbox加了一行:

                n,v=list(n),list(v)

问题就解决了.
最后,还有一个疑问,为什么之前那样,在python2.5下不行,但是在python2.6下却又不报错呢?
呵呵,答案就是:python2.6给tuple也加了个类似list的index方法…于是歪打正着,在py2.6下,就正确了.

秀婚纱照,求祝福

09年春暖花开的时候,我和MM一起去拍了婚纱照,现在终于拿到了未PS的电子版.相册相框等实物还要继续等…
相片是在龙摄影拍的,总得来说,感觉一般,工作人员的态度还不错,但是拍出来的效果不是很满意,主要是MM的脸显得很圆,真人应该更苗条些,可能是没PS的原因?毕竟最终效果还不知道呢.呵呵~
开始帖照片:
首先是这套藏风系列,风格比较诡异,当初为了避免照片都比较俗套,特意选的这套有特色的主题.
藏风主题
然后是几个内景:
内景一内景二内景三内景四内景五
还有外景和古装:
外景古装
觉得怎么样?全部照片请移步我的Picasa网络相册.
现在,祝福我们吧~~哈哈~~~

关于分区和引导也许你不知道的杂七杂八

1.用gparted把一个110G的ext3分区,缩小到78G(实际使用的空间只有20G左右),需要用2个多小时.可能和已使用的空间无关?空白区域也复制了一遍?
2.用gparted把ext3分区缩小以后,其uuid是不会变的.
3.备份主引导扇区的方法:

dd if=/dev/sda of=mbr_512_ubuntu bs=512 count=1

注意:这512字节的东西里,不仅备份了MBR(前446字节)也备份了分区表,所以如果你备份完了以后,又改变过分区,再用老的512字节来恢复的话,后果可能比较严重.
4.所以,恢复MBR(比如重装过windows的时候要用到)的方法是:

dd if=mbr_512_ubuntu of=/dev/sda bs=446 count=1

这里的ba=应该是446字节,而不应该是512字节,除非你确认和备份的时候的分区完全一致.
5.但是用如上命令恢复完了以后,分区激活标志(也就是gparted里面看到的boot标志),是不会变的(因为这属于分区信息,是位于446~512字节的),所以也许grub菜单还出不来,需要用gparted重设一下标志位.如果第4步中的bs=改成512应该不会有此麻烦,当然如果你理解了上面的文字,就会明白我还是推荐用446的.
6.grub2的配置文件是 /boot/grub/grub.cfg (相当于grub时代的menu.lst),这个文件是 /usr/sbin/update-grub 根据 /etc/grub.d 里面的脚本自动生成的,所以不推荐直接修改 /boot/grub/grub.cfg ,而是修改 /etc/grub.d 里的相应文件,要禁用某个文件,只需要 chmod -x nn-xxx 就可以了.改完后执行 update-grub 即可看到grub.cfg被更新了.
以上东西是bones7456根据实际操作经验总结得出的,水平有限,并不能保证正确性和适用性,而且还有比较危险的dd命令.因此操作时请务必小心,万一丢失数据可别来找我,哇卡卡…

实时磁盘使用情况分析──iotop

你是否有这样的经历: 电脑用着用着,硬盘灯开始狂闪,硬盘也发出咯咯的读盘声,但是你又不知道到底是那个进程出了问题?
这时候你也许就要用到 iotop 了,这个小小的命令行工具的功能,只要看名字就可以明白,不就是 IO 的 top 嘛!而且,用法也和top很像哦,直接执行iotop会每秒汇报各进程的磁盘读速度和磁盘写速度,排序好以后输出.甚至 -b -n 之类的选项都是和top命令一样的: 执行 iotop -bn1 会输出当前各进程的磁盘IO信息,并退出~
另外,值得自己编译内核的用户注意的是,iotop需要打开 CONFIG_TASKSTATS 和 CONFIG_TASK_IO_ACCOUNTING 这两个内核选项才能正常工作.

今天你70码了吗?

本文的标题来自于http://70km.org/,也许会成为一个新的网络流行语也说不定哦.比如:草泥马以70km/s的速度奔跑了
看到这个标题,经常在网上混的朋友肯定也知道是关于最近杭州发送的一起不寻常的交通事故的.
据说,5月9日,杭州的所有媒体都接到上级有关部门(有关部门可是很强的哦)通知,不准对此事进行进一步的报道,顿时网上的声讨声更加激烈了,尤其是浙大的受害者校友,这不禁让人想起20年前…话说在这敏感的节骨眼上,别说是市长省长,连老胡也会害怕浙大校友出来游行什么的啊.他们肯定不愿意看到,若干年后的教科书上写着:XXX大游行的根本原因是纪念20年前的XX事件,而XX交通事故成了这次大游行的导火索….这次游行代表了XX力量正式登上历史舞台….哈哈..
鉴于舆论的压力,目前咱们又可以在报纸上看到后续报道了,杭州市长也出来批示要彻查此事了.这在某种意义上来说,网民已经成功了一半了.再一次证明了大众舆论的力量.
我本人对汽车什么的不是很懂,也就不多擅自评价什么了,转载一下和人渣车手有过一面之缘的专业人士的文章吧,以下转自韩寒的blog:

最近杭州发生了一起影响很大的交通事故。朋友说,你对汽车那么了解,有没有什么要说说的。
我想起了前几天上海车展的时候,某视频网站给我做了一个小的访问,我当时说,开车最重要的就是要注意安全,真正的交通规则的宗旨其实就是安全驾驶和不妨碍到别人,每个人都会有超速开快车的时候,还有一些地方有为了征收罚款而设置的不合理限速,一个驾驶员一辈子没有超速过没有开过快车不大可能,这太窝囊了,但最关键是一定要注意安全。
我一段话说了三次安全驾驶,结果视频出来以后,标题是“韩寒,表示没开过快车的人很窝囊”。这说明现在的视频网站的竞争真的很激烈,不惜以下次再也采访不到嘉宾为代价,也要眼前的点击率。
我承认我有时超速,一些路况和视线极好的四车道国道,突然间会出现一个40的限速,我相信如果大家不刹那一脚车,百分之九十九的人都是超速的,但是,在城区,市区,社区等人多的地方一定要遵守限速。一些路况好的地方的低限速往往是为了相关部门创收。在这个事故中,我们不能矫枉过正,要求全国都限速40,交通有两个重点,第一是安全,第二是效率。
在杭州这起事故里,很明显的,肇事者超速了,这条道路的限速是50,我认为这个地段这个限速是合理的,交警部门说,他当时的速度是70,我个人不是很认可这个速度的认定。当然,街上目测者的叙述只有参考价值,不能完全取信,但是,如果是70的速度,在这样的马路,视觉上是不会让人产生“快”的感觉的。这台车原厂的刹车配备非常的顶级,是准赛用的级别,100公里的速度刹车到0大概需要35米,车辆撞到人以后过了50多米才停住,我们假设他当时全力刹车,那速度应该是在每小时120公里左右的。
但是,客观的说,目击者所说的150公里我认为可能是偏快的,因为街道参照物的关系,120公里每小时的速度会让人感觉更快,而且150公里以上的速度撞到人很可能不能保持肢体的完整。不过,从比较专业的角度,我是不认同交警给出的70公里每小时的说法的,我有一个朋友在类似的速度不小心撞到过人,对方只是轻伤。我个人的判断是100到130公里以内的一个速度。

街道飙车是非常危险的,但随着汽车行业的发达,富二代的增多,年轻富翁的产生,汽车改装和街道飙车一定不可避免会出现,任何国家都是这样的。但是所谓盗亦有道,一般来说,我认为最大的尺度就是在封闭的环线上偶然玩那么一下,以安全和可控为前提,以出了事承担所有责任为条件,要完全杜绝是不可能的,不光光是改装车,公交车,出租车,私家车都有互相斗气时候,很多特权车也特别喜欢趁领导不在飙车,但是,在闹市飞街的确是非常危险和极其错误的一件事情。一般来说,开快车分五种,一个是赛道,一个是空地,一个是山路,一个是环线,一个是闹市街道,除了第一二个是比较健康的以外,后三者的受鄙视程度和业余程度是递增的。尤其是最后一个,山路往往是单车事故,环线往往是多车事故,但街上就是人车事故了,但往往我们国内的汽车爱好者比较喜欢在街上开快车,因为街上人多,人多看的人就更多。这是最该谴责的。
我认为,这起事故的关键并不是所谓的富家子弟和老百姓等阶级对立面的问题,虽然这个对立面的话题性和煽动性都比较强。这件事情重要的是肇事者和其朋友表现出来的个人素质以及交警部门的奇怪认定,而更重要的是,大部分的年轻人,男孩,都是喜欢速度的,我身边很多同学,平时很斯文,但买了车以后很多都来问我怎么样才能开快车,怎么样才能漂移,我给的答案只有一个,上赛道,练。让壮年男子踏实开慢车是不可能的,要把他们引导向安全的地方发泄荷尔蒙,比如赛道,如果你在赛道上开的越好,在街上开快车的欲望也越小,对车辆的控制也更好,对于在街道上处理紧急情况也更有帮助,而且,赛道上快是真的快,街上快是小儿科,有很多号称街道高手的人,到我们车队试训,慢的就像路边的石头,所以,我希望喜欢开快车的人都上赛道来,租用赛道不贵的,比洗桑拿便宜多了。
逝者谭卓在最美好的时光里被交通事故夺取生命,他正准备结婚,我最了解享受爱情是多么美好的事情,可惜好风光似幻似虚,我们只能愿死者安息。
关于肇事者,我到今天才知道,我原来和他还有一面之交,半年前在杭州的一个卡丁车场里,我一个朋友举行过一个十几人的业余友谊赛,当时他代表杭州开卡丁车比较好的本地的选手参加了这个友谊赛,排位赛的时候我是第一,正赛一起步就直接被他撞出去了,但后来我也没有计较,一来这又不是正经比赛,是业余的娱乐,二来因为他很年轻,总会冲动和犯错。这件事情,千错万错一定是肇事者的错,因为他的错,一个优秀的年轻人已经失去了生命,这个错无可弥补,但人生还有很多好事他出来以后可以去做,希望他可以明白。

最后,我想以浙江卫视新闻报导里的一句话来结束本文,这也是我衷心的希望:

千万别让钱权交易玷污了生命的尊严!

巨鲸音乐widget

当你看到这篇文章的时候,你是不是同时也听到了动听的歌曲呢?什么,你是RSS订阅的?那打开页面试试喽。。。不要告诉我你还静音了哦。
其实你也许已经注意到了,li2z的右边侧栏里,多出了一个音乐播放器,这就是本文要介绍的巨鲸音乐widget。巨鲸也许大家还不是很熟,它其实就是谷歌music的独家合作者,也就是说谷歌music的音乐,其实都是来自于巨鲸的。
为了避免我的文章成为巨鲸的广告,其他废话我就不说了,如果你的blog也想搞一个播放器,那你可以猛击这个页面,免费注册一个账号就可以创建widget了。
也许是因为现在这个widget还是刚刚起步,所以很多东西还不是很成熟。比如可选的样式就比较少;再比如,建好widget以后,更换音乐也比较的不方便(基本上需要从头创建了);还有,好像也不能控制一开始是播放还是停止。但是有谷歌的支持,相信以后会更好的。

郁闷的杭州公用自行车系统

首先要还是要赞一下杭州的公用自行车系统,这确实是一项很好的便民工程,尤其是一小时内免费,这点尤其赞。确实给了普通老百姓蛮多的实惠和方便。
那么我为什么还要郁闷呢?事情是这样的:
昨晚去同学家玩,回来的时候迟了点,大概晚上近10:00的样子吧,心想反正借个自行车骑回来也挺方便的。于是就真的借了车,往回骑,到了住处附近,还车的时候确遇到了麻烦,附近的几个点都还不了。。。这时候才想起同学之前说的我当时却没在意的一句话:“你家附近有24小时营业的自行车点吧?”之所以没在意,是心想,反正自行车点都是全自动的无人职守的,难道还不是24小时营业的不成?但是在试了几个点之后,我不得不无奈地承认一个事实:全自动的公用自行车服务点确实不是24小时营业的。。。害得我又骑大老远的,到一个有人值班的点换车,距离几乎和起点差不多了,也就是说这大半个小时我都白骑了,还了车,又郁闷地拖着疲惫的身躯坐公交回家。。。
后来我就给这个事情想原因,难道是因为安全问题,怕被偷?这也太牵强了吧?技术上实现不了?我想想也没多复杂啊。但是除此之外我实在想不出,为什么21:00之后就不能借还了呢?大家说说看?