博客

openSUSE 11.0 解决了部分 thinkpad 笔记本 ACPI 的问题

Ubuntu 8.04 在我的 R51e 上 linux ACPI 相关的功能无法很好的使用。包括
1. 加载 thinkpad-acpi 模块慢
2. suspend 无法使用

3. 音量快捷键、屏幕亮度的事件传不到上层应用(这个不影响使用,但老婆的 DELL D600,甚至 qyt 的昭阳都支持的很好)

最后在 http://bugzilla.kernel.org/show_bug.cgi?id=8246 上查到了这个 bug,一年多以前提出来的,已经有好几个人从各个不同的角度给了 patch。虽然还不知道什么时候内核会合并哪一个 patch,但某内核开发者宣传他已经提交到 openSUSE 里了

从 patch 描述看,不止 R51e,那个时期 thinkpad 其它的 XTR 系列机型可能都有这样的问题

还有2天 openSUSE 11.0 正式发布,等待中....

Topic: 技术

摇篮曲

今晚无事,练小朋友的《公主圆舞曲》和《钟声响了》觉得已经没有什么挑战,就在 free-scores.com 上找《摇篮曲》的谱子来练习.

现在右手已经能弹出调来了,然后给老婆演示并得意地说,以后如果你晚上睡不着,我就给你弹这曲子催眠,//grin

左右手怎么才能配合在一起呢?看看这个月能不能完美的弹出来..

Topic: 生活

为什么他的时间那么宝贵?

我家那个路口北向是4车道,一条左转,两条直行,一条右转,加上非机动车道,都是白实线分隔

今天快到家时碰到一辆黑色雅阁看前面车多,就飞快的杀向右转道上,然后掉头

Topic: 社会

学琴日记

从小汤2开始,难度又大了一些些

增加了8分音符,升调降调,关键是也不再固定以前的1指对中央C了

达达有些不适应,练琴有畏难情绪

于是现在多了一个游戏项目,我们两个人各用一只手弹合奏

很早以前就策划这个游戏,但她不感兴趣。今天居然肯试了,在琴房玩得还挺高兴

另外就是她今天居然把幼儿园老师教的一首歌弹出来了,虽然老师也教了简谱,但是自主去弹一首教材上没有的歌还是挺让我惊讶+激动的.

现在回想起来,很久以前上的奥尔夫音乐课算是给现在学钢琴打了一点小基础吧,貌似是4岁上的

Topic: dada

Berkeley DB Replication, 以及 Python 开发, 以及 twistd 注意事项

BDB 从 4.0 开始,内建了 Replication 支持。它是在 "DB 环境" 里增加了若干日志文件来保存 Replication 所需要的信息,实际上 db 文件的格式没有为此做特别的变化;另外,它除了提供了隐藏同步的细节的 API 外,它还提供了在几个节点之间选举出新的 Master 的 API,这些 API 统一被称为 Base replication API。可以说 BDB 提供的是一个 HA 解决方案,完全超越了常见的 Master-Slave 模式。

在 BDB 最初的设想里,同步可能是在一个复杂、异构的网络环境(可能不仅仅是 IP 网络,或者需要用到 UDP 传输)里进行的,因此它最开始需要用户自己来编写网络传输的部分 + Base replication API 做开发。从 4.5 版本开始,它提供了一套基于 TCP 连接做同步的更高级的 API,"Replication Manager",开发者几乎不需要做任何工作,就可以轻松构建一个复制集群。

传统的 Master-Slave 的缺点是如果 Master 一旦垮掉,则在其恢复之前整套系统是不可写入的。但在 BDB HA 环境里,Master 垮掉后,剩余的 Slave 将选举出一个新的 Master,以后向新的 Master 写入即可,老的 Master 恢复后可能会作为一个 Slave 节点加入,或者引发一次新的 Master 选举...

注意当前的实现里面,Slave 节点是不可写的(它要是能自动将写请求转发给 Master 节点多好!)。写入者如何将写请求发送到新的 Master 上完全依赖开发者的实现。

如果要实现一个纯粹的 Master-Slave 环境——这样丧失了 HA 特性,但前端实现却很简单,读节点和写节点的网络地址都是固定的——就必须将 Slave 节点的 priority 统统设置为 0

有人在论坛上问过一个很好的问题:slave 节点里是否还需要"lock_detect"或"checkpoint"这样的操作?

官方答复是:checkpoint 就不需要了,但只要 slave 有请求,哪怕只是读操作,就需要做死锁检查

启动 REP 环境还有一点要注意的,尤其是在 slave 节点上,因为 rep_start 是启动线程后在线程里面开始从 master 同步的。如果在 rep_start 函数后就直接 db->open,有可能同步线程里面也在 db->open 而导致死锁。一个建议是等 DB_EVENT_REP_MASTER(master上) 或 DB_EVENT_REP_STARTUPDONE(slave上) 事件后再去 db->open,不过这样做仍然有危险:假如 Master 掉了,启动 Slave 是永远也得不到 startupdone 事件的。我看有的例子是除了等 startupdone 外还设置了一个等待超时时间;或者在这里加入死锁处理循环也是可行的。

对于 replication env 来说,还有一个限制就是 db 文件必须直接放在 home_dir 或 data_dir 目录下,而不能是其子目录中...

如果环境中的 db 文件很多的话,那缺省的 Mutex 数目就可能不够用了。可能是我还不熟悉 BDB,要么就实在是它的 API 报错机制不友好,总之我的应用足足折磨了我一个多星期,才无意中发现了需要调整 mutex_set_max 才能正常工作。教训是如果 BDB 节点工作不正常,首先就要用 db_stat 看看它的各项资源使用情况。

开发 BDB REP 应用,最好用 4.7.25 或更新的版本。在我的测试里面,至少其 Replication Manager 比起 4.6 要可靠一些。

bdb 的 python 绑定现在(pybsddb 4.7.0)只有 Replication Manager 的支持。从 svn trunk 来看,4.7.1 似乎将增加 Base replication API 的绑定。

我的 db 服务是基于 twisted 框架的,首先得到一个 dbenv,然后用它做参数去实例化工厂类。但用 twistd 启动时发现一个问题:当用 -noy 参数启动,一切都正常;但如果想放到后台用 -oy 参数的话,同步就不再工作了。

google 之发现在 twistd 里调用外部线程(比如 rep_start 这样 C 扩展里创建线程的,或直接调用 thread.start_new_thread 启动的)都必须在 reactor 运行后进行,切记切记

总结:bdb 还是挺博大精深的,我强烈预感未来会有 BDB Programmer or BDB DBA 的专门职业出现。至少现在我好像就很缺一个 BDB Programmer... 呜呜呜

Topic: 技术

当年情

周五又是半年一度的老同事聚会,数个很久不见的也一一来到
mtu从千里之外发来贺信

感谢xjb订座,感谢老韩和安安占座

照片拍的不多,在 http://picasaweb.google.com/qiuyingbo/20080530
而且低照度下拍得不好,下回一定要搞个单反.

本以为这次活动会突破30人,结果至少有9个事先说好但失约不来的
严重鄙视。。。虽然如果来了就显然坐不下了

Topic: 生活

达达学琴二月记

贴一些宝宝学琴的体会,如果有别的家长搜索到这里,希望信息能有用

不算第一次课试讲,小汤1一共花了8节课上完。每周一次,每次课45分钟

老师很重要,我们家dada是不太容易坐的住的,上课走神+思维也跳跃的厉害,老师还是挺耐心。
当然另一方面我想现在幼儿钢琴教育在中国也流行很长时间了,老师也应该很有经验——老师每周至少能带10个孩子的课吧,我觉得碰到一个差老师的概率是比较低的(至少在北京是这样)

当然如果想把小孩培养成郎朗、王羽佳那样,估计对老师要求就高了。反正我的心态是弹钢琴就是培养一个爱好,能考个级对以后上学有帮助固然好,如果没有兴趣也就算了,钢琴只是音乐的一方面,她更小的时候还给她看 S.H.E、潘玮柏的 mv 呢。

除了每周的一次课,就是每天都要去琴房练半小时琴了。一开始她也就能坐10分钟,剩下的时间也不强迫她弹,而是俺也顺便摸摸琴键...嘿嘿...
最开始带她练挺郁闷的,动不动就偷懒不干,过了两周才把自己的心态调整过来。小孩需要多鼓励,强迫练琴是没有用的

在家里就给她看孔祥东教小汤的视频,后来还找到一段王羽佳“炫技”弹《土耳其进行曲》的视频

http://www.youtube.com/watch?v=j1fgo7hp-Ko
她对这个小姑娘大为佩服,学琴过程中不停追问什么时候可以开始弹土耳其进行曲,每次我都和老师暴汗,搪塞过去

总之是从大约第4节课以后,小朋友突然对弹琴产生了兴趣。有时候自己兴致来了就在家里也弹一会,也没大人强迫;在琴房里练琴差不多可以坐20分钟了。(但是最近好像学钢琴的劲头没有前几个星期那么足了,我觉得练琴这事情也有瓶颈,突破一个关卡后能兴奋一阵子,然后就又沉寂,又突破...周而复始)

下面就涉及到买琴。
最开始就是办一个琴卡,200元30小时,可以练60天的,实际上能差不多用3个月,比起自己买琴还是经济的多。只有两个问题:1. 不方便、2. 琴房的琴实在是很一般
在学了几个星期后,觉得dada并不是全然的排斥钢琴,加之我自己也很想学着弹钢琴,于是就想着家里买架钢琴吧。

电钢琴vs真钢琴
这个问题很复杂,一言难尽,这里做做简单科普
1. 大概是学到第3个星期,家里买了台卡西欧PX-120,人民币3500,比立式钢琴便宜多了
2. 据说同价位里面,卡西欧的手感更好(贴近真钢),雅马哈的音色更好。我现在这台一开始确实不习惯,从手感到键噪,但忍啊忍的2天后就习惯了,从琴房的琴和这台琴之间切换,现在也没感觉有什么特别不一样的。
3. 电钢的键盘雅马哈有分级,从入门到最高级分别是 GHS、GH/GHE、GH3、NW。传说 GH3 的手感就和真钢相差无几了,这个级别上最便宜的是 CLP-230,8k出头的样子。我的卡西欧从评测来看应该比 GHS 强,大概和 GH 一个等级吧
4. PX-120这种轻便电钢受喇叭限制,听上去还没有琴房里那些烂琴的声音好。但戴上耳机后感觉就好多了

但最后,还是有人报告说弹了电钢后,再弹真钢需要几天时间来适应。但我觉得我家达达弹家里的琴和琴房的琴也没有什么区别,估计直到考4级,拿这个卡西欧练应该都是够了的。
最后,即使家里有了琴,我们仍然每天去琴房,因为这家伙到了家里就不好好练,我回了家也没心思严格的盯着她,还是琴房的学习环境好。

本来我是坚定的电钢琴派,但潜了很长时间的水后,结论是如果希望小孩考到高级别的话,可能还真得买个立式钢琴。

现在她在琴房不想弹,就和她做游戏——蒙上眼睛去听那个键是中央C
或者让她弹书上没有的曲子,比如她会唱的歌,这样可以激发一些兴趣。

最重要的体会是:如果不想拿棍棒去强制小孩学琴,那么就需要家长以身作则。小孩子都是学大人,她看你很有兴趣的弹琴,通常来说也会很有兴趣的模仿的。

Topic: dada 生活

听说咱们这邮政编码变了

某男甲:听说咱们这邮政编码变了。
某男乙:是么?我记得我们楼外面墙上贴着牌子,我出去看看去……

某男甲:听说咱们这邮政编码变了。
某男丙:是么?变成什么了?

某男甲:听说咱们这邮政编码变了。
某   女:我每次让别人写邮编都写北京的邮编。
某男甲:(想了几秒)你是说每次都写100000?
某   女:是啊,所以我觉得邮编没什么用。
某男甲:@#¥%…

这是性格的差异还是性别的差异

Topic: 搞笑

flickr解封以及手机拍照

flickr上的图片被封已经很久了。可是后来我发现有些人的图片我不用代理也能看到,为什么我自己的怎么还是依然“开着天窗”呢?这个问题困扰了我很久,上搜索引擎上搜索也没有结果。

今天需要贴几张着火的照片,我又打开我的flickr,以前的照片依然看不到,而我的联系人新拍的照片总是层出不穷。突然,我意识到是不是新照片不会被封了呢?尝试了一把,果真如此。oh yeah~~~

几个月前换了一个手机,拍照功能比原来的强多了,既然flickr能用了,以后可以用手机多来几张了。哈哈哈哈……

Topic: 生活 网络

连续两个周末参加法培,班车行在街上时,看到熊熊大火。

5月18日,周日,在西三旗,早上快7点时



在西三旗桥下等绿灯,看见黑烟从楼那边冒出来,很快,越来越浓,越来越大;等到绿灯亮,车开过路口到近前时,已经遮天蔽日了;车再前进一点,能看见是楼中间的地上着火了(不知道是不是工地)

5月24日,周六,在马连洼西,下午3点多




班车从北往南开,看见对面方向过来的车很堵,前方有黑烟,到了近前,果真是一辆车着了(不知道是不是自燃),火势很大,几乎把车包裹起来了。这几张照片已经是下了班车,过天桥,等车,然后车到跟前拍的,火已经小了很多。

Topic: 生活
订阅 RSS - 博客 | BT的花