Posts

Showing posts from 2006

Starcraft, Cedega and TLS

I have tried to play starcraft in Linux using Wine. But the speed was unacceptable.
I've heard from others that wine works for them. However, it doesn't work here.
So I tried cedega days ago. The result is quite satisfactory! I don't need to return to Windows to play starcraft any more.

Yesterday I looked into the details of accessing thread local storage.
I wrote a small kernel module to get the base address of insmod process's tls segment, and then print the value of AT_SYSINFO
#include <linux/init.h>
#include <linux/module.h>
#include <asm/desc.h>

static int __init mod_init(void)
{
        int i=0, a=0, b=0, h, l;
        int *ptr=(int *)get_cpu_gdt_table(0);

        for(; i<28; i++){
                l = *ptr++;
                h = *ptr++;
                if (i==6){
                        b = h;
                        a = l;
                }
                printk("0x%08x", h);
                printk(" %08x", l);
                printk(&q…

screen, gdb, vdso and gentoo

Screen的中文乱码问题有了一点新进展。今天我了解到,如果使用中文,但使用gb字符集的时候,中文是正常的。UTF-8则是乱码。这对于解决这个问题应该有所帮助。

今天在Planet Larry上看到一篇blog,对我很有帮助。那里面提到一个gdb的初始加载文件,类似.bashrc。有很多有用的功能。比如在断点停住的时候,可以显示寄存器,堆栈等的内容和要执行的指令的上下文的反汇编。作者对这个文件加了点改进可以显示不同的颜色。
http://gnurbs.blogsome.com/2006/12/22/colorizing-mamons-gdbinit/
用了这个东西,基本可以抛弃emacs+gdb的组合了。毕竟emacs-23现在和gdb配合使用,我感觉还不是很稳定。

还看了这一篇文章, http://www.win.tue.nl/%7Eaeb/linux/lk/lk-4.html
不过里面最后一个例程应该是有点问题,改成这样就行了:
#include <stdio.h>

int pid;

int main() {
        __asm__ __volatile__(
                "movl $20, %%eax        \n\t"
                "movl $0xffffe400, %%ebx \n\t"
                "call *%%ebx            \n\t"
                "movl %%eax, %0         \n\t"
                : "=r"(pid)
                :
                : "ax", "bx"
        );
        printf("pid is %d\n", pid);
        return 0;
}

最后,今天发展了一个gentoo用户。基本上我帮他装的。有两点感觉:
1. 复制livecd安装真的很方便,很快
2. 一般Linux用户,特别是英文不怎么好的用户,安装gentoo,还真是会遇到不少困难,

screen: RAW_PUTCHAR()

如果screen的caption里有日期,星期,比如:
caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= @%H - %LD %d %LM - %c"
而且使用的又是中文locale
那么日期星期会乱码
大概看了一下源代码,发觉应该和display.c里的RAW_PUTCHAR()有关

龙芯电脑的预定确认信

尊敬的客户您好:首先向您表示诚挚的祝贺和由衷的谢意!我谨代表江苏中科龙梦科技有限公司,对您的积极参与表示感谢,同时很荣幸地通知您,您被我公司选择作为首批次龙芯福珑迷你电脑用户。您拥有选择和拒绝购买的权利。为了表达对一直以来支持和鼓励我公司不断取得进步的朋友们的谢意,同时也为了龙芯事业的稳步发展,我公司在相对公平公正的基础上,对首批次福珑迷你电脑使用者进行了简单有效的选择,您是其中一位。希望龙芯福珑迷你电脑能在您手中物尽其用,如果您有任何问题,可以随时与我们取得联系,我们将尽可能帮助您解决。另外,请购买者务必确定您的地址、联系方式是正确有效的,如因此出现的任何问题,我公司将不负责任。另外请注意,目前我公司尚未开通资金帐号,请不要急于打款,具体的返款措施,我们将于后期公布。在此回执的客户我们将正式登记记录,正式生效.江苏中科龙梦科技有限公司市场部http://www.lemote.com2006.12.08

Godon's picture

Image
龙芯的照片
这是个2C,不是最近卖的2E
我发email预定了2E,想看看能不能移植Gentoo过去,不过没有给我
也罢,就先摆弄2C玩玩看吧

ntfs-3g and fuse in Gentoo

* For this version of ntfs-3g to work properly, you need to use the
* kernel module included in the package, not the kernel version. To do this
* remove FUSE from your kernel, recompile it then remerge FUSE.
*
* emerge -a1 sys-fs/fuse
*
* You will need to reboot if you had FUSE in your kernel, if it was a module, this
* should be enough:
*
* modprobe -r fuse
* modprobe fuse
*
* If either of these commands have an error, you will need to reboot.
本来我是用sys-fs/fuse的,不过前两天心血来潮,用了内核里的fuse
结果emerge ntfs-3g时就看到了上面的提示

时断时续的bugzilla汉化

今天要把component的名称和描述的中文显示搞定
不过遇到一个棘手的问题
template/en/default/admin/components/list.html.tmpl
此文件里有这两行
[% edit_contentlink = BLOCK %]editcomponents.cgi?action=edit&amp;product=
[%- product FILTER url_quote %]&component=%%name%%[% END %]
[% delete_contentlink = BLOCK %]editcomponents.cgi?action=del&amp;amp;product=
[%- product FILTER url_quote %]&component=%%name%%[% END %]
作用是生成编辑连接和删除连接
不过我尚不清楚%%name%%是如何得来的
但是我知道,只有在Bugzilla/Component.pm的第91行不改动的情况下,这个连接才是正常的。
可是如果不改成下面这样,那么新建的component的中文名称和描述就是问号
$self->{$field} = decode_utf8($component->{$field});
想跳楼。。。

bugzilla之中文化

最近还在忙这个
不知道换了个公司,我还是否需要这样做
不过据我推测,中国软件公司员工的英语水平应该都挺高
anyway,记一下思路。

三个问题:
1. Bugzilla/BugMail.pm需要打个补丁
--- Bugzilla/BugMail.pm.bak     2006-12-06 09:19:08.000000000 +0800
+++ Bugzilla/BugMail.pm 2006-12-06 17:55: 03.000000000 +0800
@@ -46,6 +46,8 @@
 use MIME::Parser;
 use Mail::Address;

+use Encode qw(encode_utf8);
+
 # We need these strings for the X-Bugzilla-Reasons header
 # Note: this hash uses "," rather than "=>" to avoid auto-quoting of the LHS.
 my %rel_names = (REL_ASSIGNEE          , "AssignedTo",
@@ -636,7 +638,7 @@
     my $headers;

     if (Param('utf8') and (!is_7bit_clean($header) or !is_7bit_clean($body))) {
-        ($headers, $body) = encode_message($msg);
+        ($headers, $body) = encode_message(encode_utf8($msg));
     } else {
         my @header_lines = split(/\n/, $header);
         $headers = new Mail::Header \@header_lines, Modify => 0;

2. 网上现有最新的汉化包是2.20, 内容和正在使用的2.22有差距。使用中文界面时,已知的可导致的问题有,不能删除产品和模块。

3. 如果bug的摘要和附加评论是中文,将是乱码。解决思路是这样。首…

suspend2-sources-2.6.19 not ready yet

I haven't got enough time to investigate what is going on.
In order to try the new kernel, I emerged gentoo-sources-2.6.19-r1 and compiled/installed it. It works well so far.
I didn't enable libata, as it is said that its support for pata is still experimental and I don't have sata disk.
However I can't hibernate in it. So just halt.
But I like hibernate, so I will return to suspend2-sources-2.6.18 and stay there before new version is out.

PS: It seems that suspend2 patchset for 2.6.19 is ready now, http://forums.gentoo.org/viewtopic-t-521430.html?sid=4e52af07455eb15db7133bc20b1d89dd

汉化bugzilla以及在没有任何可用用户和可反向解析的ip地址的情况下重新获得bugzilla的控制权

Bugzilla的汉化其实很简单。不过如果你是在中国大陆,而且你正在用一个比较新的版本bugzilla的时候,就要费点周折。因为你不能直接登录sourceforge,而bugzilla汉化项目bugzilla-cn在sourceforge上。这时就需要tor+privoxy了。下载下来后,把cn_UTF8.zip里的default目录放到template/en里,并更名为custom。
第二个问题,缘起于忘记了super user的密码。没有可反向解析的ip,意味着sendmail发的信到不了目的地。这样注册的新用户就得不到注册时随机产生的密码。要解决这个问题,可以把data/params里的mail_delivery_method改成testfile,这样就不会通过MTA来发信,而是把信件内容保存在data/mailer.testfile里。这样就的到了一个可用的普通用户。然后在mysql控制台里,把bugs数据库里的profiles表里的这个用户的userid改成1,那么这个用户就变成了super user。完事。

媒体的力量

媒体的力量真的太强大了
特别是权威媒体
在Linux和自由软件领域里,lwn.net无疑是这样的一个权威媒体
有些事,经它一报道,可能就会使整个舆论转向
比如最近的gaia事件
gaia是个开源的google earth,可是却被google叫停了
一看到这种事情,很多人都是膝跳反射式的数落google的不是
其实这件事上google有自己的苦衷

http://lwn.net/Articles/211153/

用链表申请专利被批准!

其实这篇文章是想谈谈软件专利。
首先声明我不是一个律师。这是一个很常见的声明,英文里常用这个缩写IANAL。
先来看一个软件专利具体例子。链表,一个最最基础的数据结构,2006年4月11日在美国被批准为专利。http://www.patentstorm.us/patents/7028023-fulltext.html 知道什么是链表的人看到这里恐怕会禁不住笑起来。但是担忧是不必的。
就这个例子,我们来看看软件专利的一些基本特性。首先,专利意味着什么?如果我申请到了一个专利,如果你实现了这个专利,那么你就要付给我专利费。这是一种很高明竞争方式,兵不血刃。中国的整个DVD产业就是毁灭于国外相关组织的专利武器之下。我们花费血本搞TD-SCDMA也是不希望3G的舞台被外国人所独占。怎么对抗专利?一个是找到prior art。他不是说是他发明的么?我们就找证据证明在他之前就有人这么用。所以链表的专利是可以无视的。或者,我们也搞专利,让他避不过,你要告我,我也告你。具体到软件专利,值得注意的一点是不是所有的国家都承认软件专利。美国承认软件专利。但是在欧盟,软件专利是不存在的。中国跟随美国。所以才有联想把从/proc获取机器硬件信息来做为专利来申请。很多方面技术上的差距是天壤之别,但是在专利的sb程度上却是半斤八两。有人会想链表这样已经被人用了几十年的数据结构,怎么还可能被批准为专利呢?这就是另一个问题了,就是据说专利局的人批的专利数量和自己获益多少是正相关的,他们才不会去查prior art。美国几乎每个软件公司都有他们自己的patent portfolio,否则就无法生存。因为很多专利是很难避过的,为了不让别人告自己,自己也需要掌握别人无法避过的专利。有一些公司什么都不生产,唯一的产品就是专利,坐收专利费,这种公司被称为patent trolls。他们有一个优点,就是他们自己没有产品,所以没有可能侵犯任何人的专利,不怕别人来告,但他们可以随便告别人,只要对方用了他们的专利而未交专利费。微软就建立过至少一个这样的patent troll。Linux是否使用了别人的专利?是可能的。有人研究过,提出了很多,而且分属于不同的公司。但是到现在没有人追究,因为Linux如果没有了,对任何人,除了微软,恐怕都没有好处。事实上,如果每一个软件专利都严格的追究下去的话,整个软件产业就马上玩完了。

Microsoft/Novell deal: something happened on a Chinese Linux forum

Image
I write this in English so that all people around the world could get a chance to know what's going on in one of the biggest Chinese Linux forum linuxsir.org.
On SUSE Linux sub-forum of linuxsir.org, there were some threads talking about MS and Novell's deal recently. But unfortunately, someone with high privilege in the forum combined these threads and moved them to a place that few people visit. So people won't see it in its original place. Moreover, people can't found it through the link provided in the reply-notification email linuxsir.org mailed to them. The pictures below illustrate this:
Unless you are familiar with the operation of vBulletin or use search function of the forum you won't see it again. So the discussion discontinued, or rather _stopped_ by external and yet irresistible force.
Then someone expressed angriness about this in SUSE sub-forum, and more people followed him. The discussion went on. However, this thread again is "combined" now.

Novell: We disagree

http://www.novell.com/linux/microsoft/community_open_letter.html
Highlights:
We disagree with the recent statements made by Microsoft on the topic of Linux and patents. Importantly, our agreement with Microsoft is in no way an acknowledgment that Linux infringes upon any Microsoft intellectual property. When we entered the patent cooperation agreement with Microsoft, Novell did not agree or admit that Linux or any other Novell offering violates Microsoft patents.

Backgrouds:
Ballmer on Novell, Linux and patents http://blog.seattlepi.nwsource.com/microsoft/archives/108806.asp?source=rss

惊悉开发SimSun的中易公司原来是半官方机构

Image
06-11-20, 15:30 第 143 帖jblbose


注册会员
  注册日期: Oct 2003   帖子: 190   精华: 0

引用: 作者: james_su 有没有调查过 Novell 在这方面的情况?把你这段话里面的 redhat 全部都换成 novell,照样完全正确。另外,你是否知道:
1. 在 openSUSE 社区版本里面不包含任何非 OSS 的软件(不敢说是 patent free的)。但为了让用户能够合法的使用 MP3 等有专利保护的媒体格式,novell 和 real networks 合作取得相关的合法授权,给用户免费提供合法的 RealPlayer。很快还会免费提供支持 Windows Media 格式的 RealPlayer 升级版。你觉得这方面 novell 做得有问题么?
2. Novell 从来都没有认可"微软对linux侵犯微软知识产权的专利主张"。但不等于用户没有这样的担心。为用户提供知识产权保障计划是对用户的负责,而不是承认侵犯别人的专利。难道你不知道 RedHat 也同样给用户提供这样的保障吗?
3. Novell 当然在"积极推动软件专利共用来保护开源软件的整体利益"。你难道不知道 Novell 是 OIN 的正式成员,而且 OIN Patent Pool 里面的很大一部分专利都是 Novell 贡献的么?有很多还是 Novell 花钱买过来然后免费贡献的。





关于字体的问题,我不在这里做过多阐述。只是做一个小小的广告,你可以看一下最近一期的《软件世界》,里面有一篇专访。我在里面专门阐述了字体相关的问题。

简单的说:字体和别的软件不一样,它是一定要严格符合国家标准的。在自己的产品里面使用不符合国家标准的字体,对用户来说是一种完全不负责任的行为。

novell 一贯倡导,中文字体不应该由企业、团体或者个人来制作发行。承担中文字体制作任务的应当是国家相关权威机构,比如国家语言文字标准化委员会,或者是信息标准化研究所等。并由国家统一发布给公众和企业免费强制使用。具体理由请参见《软件世界》的专访。

比如说用户可以免费下载suse10.1的eval版,里面包含商业软件,这些软件只许可給了novell公司。如果用户把这个带商业软件的版本散布出 去,就已经违法了…

Fedora Linux on PlayStation3

http://www.youtube.com/watch?v=_ZXcuhJkwx4
我身上至少有近4千块钱,此刻起,已经不再属于我了。而是我代Sony暂时保管。

audacious-plugins的补丁已经被收入upstream

记一下我的mp3转码的步骤

我几乎所有的mp3的album都是gbk,title和artist是utf8(不标准的)
所以我的步骤如下
1. 我用的脚本配合我的tagreader和tagwriter把所有mp3的album转为标准utf8 id3v2 tag储存方式
2. 利用python版的id3iconv,给已经是utf8的title和artist加上encoding标示字节。命令这么写find -name "*.mp3" -exec id3iconv -e UTF-8 {} \;

参考:
http://zhllg.blogspot.com/2006/11/audaciousid3tag_12.html

中国:政府中心主义发展战略的沉重代价

http://guancha.gmw.cn/show.aspx?id=1231
这是光明网(光明日报的网站)上的一篇文章。文章深刻揭示了中国当前的发展模式的严重弊端。
文中主要观点如下:中国成功地避开了舒尔茨陷阱, 中国的发展是一种不提折旧费用式的发展模式低工资是国内分配严重不均衡的结果,这个体制的独特优势在于:它可以未经国民允许就慷慨地牺牲本国国民的福利竞次战略不走到不能承受的地步很难回头劳动力无限供给的说法是有人故意强加给大众的一种学术蒙昧跨国公司对中国政府的俘获能力要远大于本土企业东方功夫最大的破绽:落后的政治体制,

I have reported the audacious-plugins' problem to upstream

http://bugs-meta.atheme.org/view.php?id=632

Here is the problem's description:
In audacious-plugins' current implementation, when saving MP3's tags, unicode is enabled unconditionally. In save_cb() function in http://svn.atheme.org/audacious-plugins/trunk/src/mpg123/fileinfo.c, [ ^] there are two function calls:
taglib_set_strings_unicode(1);
and
taglib_set_id3v2_default_text_encoding();
However, when reading MP3's tags, if chardet is enabled, unicode will be disabled. In fill_entries() function in the same file, there is a conditional compilation:
#ifdef USE_CHARDET
taglib_set_strings_unicode(FALSE);
#endif

This may not affect English only users. But for CJK users, this discrepancy
of dealing with chardet will lead to MP3's title and artist being rendered
as garbled characters.

PS3 Japan launch's Dark Side

解决audacious写入id3tag乱码问题的补丁

首先说一说我对chardet的理解:
如果启用chardet,那么让taglib把所有tag的encoding当做Latin1,然后audacious自己来进行编码侦测。
如果不启用chardet,让taglib把所有tag当UTF8。

相比较amarok,audacious确实给用户多了一种选择。用户可以不转码。转的不"规范"的UTF8编码(也就是只转码,没加encoding byte)的tag也可以显示。
可惜我之前不知道,我用id3v2转了很多mp3,都属于此类情况。
现在我准备向"标准"靠拢。我准备不再用audacious的chardet功能。
我改写了taglib里的例子,用它配合我的id3转码脚本,在结合下面这个网页上的脚本,来把我所有的mp3都转"正确"的编码。
http://paste.ubuntu.org.cn/1090
这样一来amarok里也可以正常显示。否则像现在这样amarok里所有的歌都是乱码,除非不含tag的,可以正确显示文件名。

虽然我不用chardet,不过这个补丁还是要贡献出来。它应该有理由被upstream收录。gentoo-china overlay用户可以直接layman -S后,emerge audacious-plugins
http://gentoo-china-overlay.googlecode.com/svn/trunk/media-plugins/audacious-plugins/files/audacious-plugins-1.2.2-mp3-id3tag-edit.patch

我错怪taglib了

在id3v2 tag的问题上。
StringList::toString()里虽然没有利用到encoding
但是在建立TexIdentifationFrame对象的时候,是用到了encoding的。

至于id3v1,那个问题我认为确实是个问题。虽然taglib说它只把id3v1的encoding当Latin1。

不是taglib的问题,那自然就是audacious的问题。确实如此。

在目前的audacious里,在写入时都当做是utf8。但是读取时,如果启用了chardet,那么就当成是latin1,这样读取出来的就是乱码。

audacious写入id3tag乱码问题

Image
我的audacious和audacious-plugins的版本及USE flag如下:
[I] media-sound/audacious Installed: 1.2.1(chardet -gnome nls)
[I] media-plugins/audacious-plugins Installed: 1.2.2-r1(aac alsa arts chardet -esd flac -jack -lirc -modplug mp3 -musepack nls -oss -pulseaudio -sid -sndfile timidity vorbis wma)
值得注意的一点是,我都加上了chardet USE flag,这样在UTF-8环境下就不必为本来encoding为GB码的mp3文件里的id3tag转码了。
只需要稍微设置一下:
Preference->Playlit->Metadata:
auto character encoding detector for: Chinese
fallback character encoding: gbk
还有一点是,如果主窗口显示不出汉字。看看你是否选择了这个选项:
Preference->Appearance->Fonts->Use bitmap fonts if available
请不要选中这一项试试。如果使用微软雅黑,同时选中这个选项,主窗口的歌曲名如果是汉字就会乱码。而不选则不乱码。
这两个地方设置过后,audacious已经几近完美了。不过还有一个问题,就是修改id3tag保存后,再打开该文件会发现id3tag乱码。
经过我的分析,原因大概是这样:
1. id3v2.4.0标准里定义了tag可以有4种encoding,可以在tag里标明,占用一个字节,其中UTF8的值为3。
2. 如果指定encoding为utf8,taglib在写入时会遵循标准的约定,在tag里用一个字节表示encoding,就是3。
TextIdentificationFrame::renderFields()
3. 但是在读取tag的时候,我发现似乎taglib根本没有考虑这里还有个字节表示encoding。而是把3看作字符串的一部分。
StringList::toString()仅仅是把list里的String相加。
这样当然就…

Install Gentoo by coping LiveCD to harddisk

The prison in Prison Break

Conditional breakpoint in gdb

First you have to setup a break point.
(gdb) b 'server::Checks::chkCleardigits(ost::Script::Line*, ost::ScriptImage*)'
don't forget the leading ' before server, so that gdb can complete the whole function prototype for you.

Check breakpoint info
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x080565f4 in server::Checks::chkCleardigits(ost::Script::Line*, ost::ScriptImage*)
at checks.cpp:624
breakpoint already hit 1 time

Run the program, and then you find that there are so many calls to this function. However, you are only interested in one particular call. And most importantly, you know a condition which is unique to this call, line->argc>1

Set condition:
(gdb) condition 1 line->argc>1
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x080565f4 in server::Checks::chkCleardigits(ost::Script::Line*, ost::ScriptImage*)
at…

select.span

I was asked to analyze the usage of this "select.span" command.
However, I've no idea wtf the so-called span is.
What's worse, it seems that nobody else here could explain to me what it is.
I am a totally newbie in this area(I mean IVR), and I think it is known to everyone.
However, I did find some clue. I found normally those span should be initialized in the driver. Take capi20's driver as an example, BayonneSpan object is newed in Driver::startDriver(). But unfortunately, the synway's bayonne driver is not complete at this moment. The driver is in bayonne-nonfree package. In my opinion, the biggest problem now is this incomplete synway bayonne driver. If it is finished, many problems will not exist any longer.

PS: This "select" thing is discovered by me, when I analyzing "connect". In startDialing() which is called by scrConnect(), there is a call to getPointer() with a single parameter in the form "select.%s". Then I found the co…

PS3 is coming

According to e-zone, a Hong Kong magazine, PS3 60GB version will be sold at HK$ 3780 in Hong Kong starting from Nov 17. This price is equal to 56,810 Yen according to the exchange rate on Nov 1, while the expected price of Japan version is 60,000 Yen. This price is also lower than that of US version.
The 20GB version will be available in December in Hong Kong. The price will be HK$ 3180.

The price is lower than I expected. However, I won't act before Winning Eleven PS3 version is out. :)

我的emacs

Image
This is my /usr/bin/emacs
#!/bin/sh
emacs.emacs-23.0.0 --enable-font-backend -fn "Consolas-12" "$@"

今天又搞了搞字体

Image
最终的选择是下面这些。近期应该不会再有大变化了
简体中文:微软雅黑
繁体中文:微软正黑
英文:Verdana

搞的过程几经周折,这里记录一下:
1. Vista里的英文字体
Vista里带了好几个新英文字体,都是C字辈的。包括几个serif, san serif和一个monospace。这几个字体是很好看,不过有一个通病,就是指定同等大小的情况下,比中文字体(比如雅黑)要小,比原来的Verdana那几个也要小。我的显示器是1680x1050的,字体小了看着很费力。(下次说什么也不买大个儿的笔记本了。)我尝试了一个方法,是把小于18 pixelsize的Candara的大小均强制改为18 pixelsize。不过感觉还是不太爽,感觉笔画比较细,看着费力,而且强制拉大的显得不太协调,粗体显的太粗。
<match target="font" >
<test compare="eq" name="family" >
<string>Candara</string>
</test>
<test compare="less_eq" name="pixelsize" >
<double>18</double>
</test>
<edit name="pixelsize" >
<double>18</double>
</edit>
</match>

2. Emacs字体设置和Vista新日文字体
今天发觉emacs里有些中文字显示不出来了。后来发现emacs是找meiryo,也就是Vista里的新日文字体来显示的。日文字体里的汉字自然是不全的。按理说Emacs应该从~/.fonts.conf的字体列表里找,看来现在还不是。不知道怎么设置,只好删掉meiryo不用,反正不懂日文。

3. Firefox的字体设置
个人觉得总体上说有3种选择:
一是让网页选择字体二是不让网页选择但只指定serif/sans serif/monospace三是不让网页…

微软雅黑

用了几天微软雅黑
现在在看Simsun,发觉非常不习惯
很淡很淡
即使是通过开启antialias使用了内嵌位图,也是一样的感觉
恐怕我是回不去了

刚刚了解到一个有关emacs 23的字体问题
其实仅仅用了这样的命令来启动是不够的
emacs --enable-font-backend -fn "Dejavu Sans Mono-12"
这样的话,非英文字体emacs还有可能用X核心字体
需要在~/.Xdefaults里加上这样一句才能保证emacs 23使用xft作为字体后端,仅仅启用字体后端是不够的。
Emacs.FontBackend: xft
这样一来,~/.emacs里就不需要任何配置字体的信息了
不过又发现一个问题,似乎emacs 23对~/.fonts.conf里的字体顺序反应迟钝?
gtk+2程序的反应是即时的,只需要关掉并重新启动程序
qt程序可以用qtconfig来改字体替换表
emacs 23却没辙了,想不起来还可以改什么?即使~/.fonts.conf里Simsun排在前面,也还是只能用Microsoft Yahei。

参考:
http://www.nabble.com/Xresource-of-enable-font-backend--t2349798.html
http://zhllg.spaces.live.com/blog/cns!956A48A2D7ED7265!1475.entry

HOWTO Compile Kernel

HOWTO Compile KernelFrom Gentoo Linux WikiJump to: navigation, search 目录[隐藏] 1安装内核源代码2配置2.1配置命令介绍2.1.1make menuconfig2.1.2make oldconfig2.2第一次配置2.3升级时配置3编译和安装[编辑] 安装内核源代码代码: 安装内核源代码$ USE=symlink emerge gentoo-sources
使用symlink的目的是建立符号连接/usr/src/linux,以指向安装好的内核源代码目录。 [编辑] 配置配置内核对于新手来说是一个噩梦。不过事实上,配置过程要远比一般人想象的容易。只是有些技巧了解的人不多。 [编辑] 配置命令介绍[编辑] make menuconfig配置内核的命令很多,不过make menuconfig应该是最通用的。它的运行几乎不限环境,远程登录也可以用它配置,所以我们重点介绍。 用法: 方向键选择菜单项/按钮 回车进入子菜单 按高亮字母直接选择相应菜单项 Y键包含,N键排除,M键配置成模块 退出,?键查看当前菜单项帮助信息,/键搜索 图例:[*] 包含 [ ] 排除 模块 < > 可配置成模块 [编辑] make oldconfig利用已有的.config来生成新的.config。如果遇到新内核新增的选项,会挨个提示你是否启用。建议选择默认,即直接按回车。同时记录下有疑问的选项,以便下面再make menuconfig手工配置。 [编辑] 第一次配置代码: 第一次配置$ cd /usr/src/linux
$ make defconfig
$ make menuconfig
make defconfig的作用生成一个缺省的配置文件。这个配置文件里各内核组件基本完整,只需修改硬件和文件系统即可。这步不是交互式的。 make menuconfig这一步就是要修改硬件和文件配置。需要关注的主要有这么几个部分,分别是 IDE驱动(默认是CONFIG_BLK_DEV_VIA82CXXX) 网卡(CONFIG_E100) AGP(CONFIG_AGP_VIA) DRM(CONFIG_DRM_RADEON,建议不要启用,使用portage里的x11-drm) Framebuffer(CONFIG_FB_RADEON) 声卡…

Psychic mode plugin of gaim 2.0.0dev

Psychic mode plugin is a very interesting plugin.
It could cause conversation windows to appear as other users begin to message you, before they press "enter".
The notification message is very funny:
You feel a disturbance in the force...

Updates:
MSN protocol could use this plugin too, although it is not mentioned in the plugin's description.

[转载] QT 3.3.6 及以后版本的字体替换设置

http://wiki.chrischou.org/freeware:qtfont3.3.6

摘要:
QT 3.3.6 及以后版本的字体替换规则发生了微小的变化,为此使用QT的应用程序(包括KDE)可能无法使用fontconfig的替换规则。QT 3.3.6 及以后的版本,除非指定sans-serif、serif、monospace其中的一个作为QT程序的默认字体,否则这些程序的中文将无法保证使用 fonts.conf 中指定的支持中文编码的字体来渲染中文字符(QT会使用第一个查找到的具有中文编码的字体来渲染中文字符)。而这些在 QT 3.3.5 及以前的版本是可行的。

PS:
在我这里一定要把SimSun写为“宋体”才可以。
不过还是有一个问题是,粗体出不来。
搞什么啊???!!!

zhcon 0.2.6 will be in portage soon

UTF-8 support is added in this version. To enable it, you have to use "zhcon --utf8" to start zhcon. zhcon's homepage is here: zhcon.sf.net
This version is already in gentoo-china overlay.
"layman -a gentoo-china" to check it out.
Or you could see it here: http://www.gentoo.org/proj/en/overlays/layman-global.txt
flameeyes said too much overlays will bring us down. I agree, to some extent. But that requires the maintainers response in a timely fashion. Otherwise, users can only resort to overlays.
Fortunately, I am now become the proxy maintainer of zhcon. That situation won't happen to zhcon again as long as I remain as zhcon's proxy maintainer.

EDIT: now it is in portage, so I have deleted it from gentoo-china overlay.

wall_john's desktop

Image
I have already uploaded the picture to blogspot. So now everyone could be able to see it.

screen之detach/reattach的一个应用

如果因为某个原因,X需要重起
那么可以先detach
然后X重新启动后,或者可以干脆直接在console里,再reattach
刚刚想到,有点莫名的兴奋,:-D

detach是C-a C-d
reattach是screen -r 然后按tab即可补齐。前提自然是要启用bash-completion

如果不了解screen,可以看看GWN里的报道。一定要试一下!

prelink's segfault problem

The latest prelink in current portage has a problem. That is it segfaults if you run it with -q option.
This patch fixed the problem. Thanks to Martin von Gagern.
http://bugs.gentoo.org/attachment.cgi?id=95051&action=view

bayonne VS. asterisk

Asterisk is better?
http://software.newsforge.com/comments.pl?sid=50233&cid=118555
I haven't touched asterisk. So I have nothing to say about it.
However, I am looking at bayonne. I have contributed some patches to bayonne and I am taking care of bayonne2's ebuild in gentoo-voip overlay. So I know there are something that need to be improved in bayonne, for example the documentation.

Flash player 9 for Linux

http://labs.adobe.com/downloads/flashplayer9.html

I have tried it on www.metacafe.com
My firefox was crashed on the first try.
After that, it works well.

FREE international call

Use your regular phone to make local/international call.
http://www.jajah.com/

Hans Reiser accused of murder

SUSE's pronunciation

Buffer Overflow in NVIDIA Binary Graphics Driver For Linux (with exploit)

http://lwn.net/Articles/204542/
It's a pity that I don't have a nvida card to try the exploit. :)
I am so admire those who could create an exploit all on his own. It requires a lot of skill. A famous Chinese Poet Lu You (陆游) from Song Dynasty has once said, if you do want to learn poem, you should learn beyond poem (汝果欲学诗,功夫在诗外).
Take this exploit as an example, I myself know little on Xlib programming, so although I have some basic idea on shellcode/exploitation, it's still impossilbe for me to write an exploit of nvidia driver at this moment.

Linux系统及程序的启动速度

这篇文章写了有段时间了,不过没有在这里贴过。现在拿出来和大家分享一下。如果有理解错误的地方,还望指正。

Linux(包括其上运行的应用程序)的启动速度相比Windows要慢,这是个不争的事实。不过未来这种状况必将会发生变化。lwn.net上有两篇文章与此话题有关。
首先,要明确的一点是,导致这种状况的根本原因与内核关系不大。两个主要原因,一个是用户层程序启动时往往会做很多无谓的动作,可以从strace的结果里体会到;一个是ELF(现代*nix系统所采用的可执行文件和共享库文件格式)格式的二进制程序在符号解析时要耗费不少时间。lwn.net上的这两篇文章就分别针对这两个问题。
第一篇是http://lwn.net/Articles/192214/
第二篇是http://lwn.net/Articles/192624/
第一篇是Dave Jones在渥太华Linux研讨会(Ottawa Linux Symposium)的一个演讲,这个pdf的第441页 http://www.linuxsymposium.org/2006/linuxsymposium_procv1.pdf 就有这篇文章,题目是"Why user space sucks"。Dave观察了他的Fedora系统的启动过程,结果发现整个过程调用了stat() 79000次,打开过27000个文件和运行了1382个程序。但实际上不一定需要这么多动作。他还具体分析了很多程序的表现,比如gamin(fam ——file alteration monitor——的后继者),Xorg,CUPS,HAL等等。虽然Dave没有提出具体的解决方案,但是自此以后这个问题必定会引起人们的重视。
第二篇题目是Optimizing linker load times。文章开头提到目前很多发行版都在想尽办法提高系统启动速度,目前已有一些途径,比如预读取(readahead),启动重排序(boot reordering),还有并行执行init脚本。还有一个途径就是文章的主题,提高连接器动态连接的速度,主要是符号解析的速度。符号解析的目的,是把在程序里未定义的函数名解析为运行时该函数的内存地址。解析的过程就是查hash表,按惯常做法表里hash值相同的符号(就是未定义的函数名)组成链表。文章提到目前已经有的一个策略,就是preli…

scim-1.4.5 works again

I didn't mask it in /etc/portage/package.mask when I emerge =scim-1.4.4. So it was upgraded to 1.4.5 in the lastest update.
And now it works.
Don't know why. Anyway, it works. This is the most important thing.

异体字?

我找你找了好久 别人都说我们会分开
我找你找了好久 别人都说我们会分开

这两对,看似一模一样,实则不同
第一对不同的字是“了”
第二对不同的字是“都”

第一行是我在转用utf8字符集的时候用convmv改的
看来还有点问题

Feed from feedburner

I have created a feed on feedburner.
You may subscribe to that as well.
http://feeds.feedburner.com/zhllg

使用GDB/Emacs debug C++程序

使用GDB/Emacs debug C++程序Date:2006-09-26Version:1.0Authors:张乐内容gdb使用技巧注意事项准备工作运行设置断点检查状态继续运行信号与Emacs配合使用 gdb使用技巧注意事项gdb使用 Readline 库可以使用bash快捷键,tab补齐清除inputrc里有冲突的设置 准备工作重新编译安装程序。系统里现有的程序一般不适合直接拿来跟踪。需要使用合理的CFLAGS重新编译安装后再跟踪。./configure
find -name "Makefile" | xargs sed -i -e 's/^CFLAGS = /CFLAGS = -g3 -ggdb3 -gdwarf-2 /'
make && make install
运行启动gdba. gdb bayonne
b. gdb --args bayonne -vvv script.scr
利用帮助a. help 命令类别名
b. help 命令名
运行程序a. r[un]
b. r[un] -vvv script.scr
设置断点按照函数名设置断点b[reak] main
b[reak] 'namespace::Class::func()'
按照文件名和行数设置断点b[reak] methods.cpp:523
检查状态检查堆栈b[ack]t[race]
up
down
检查当前函数的源代码list
检查/改变变量值p[rint] var
p[rint] ptr->mem
p[rint] *ptr
p[rint] ('namespace::Class') *this
p[rint] (('namespace::Class') *this)->a.b.c

p[rint] var=value
检查类ptype ptr

set print object on
whatis ptr
检查并启用/禁用断点set breakpoint pending on
info b[reakpoints]
enable [N]
disable [N]
检查并切换线程info th[reads]
thread N
检查寄存器info reg
info reg esp
检查内存x/10s *0xaabbccdd
x/5x var
继续运行运行到某一行即…

Latest News on scim and glibc

According to my own experience, scim 1.4.4 works fine with glibc 2.5!
Scim 1.4.5 must have used something which is changed from glibc 2.4 to 2.5.

scim doesn't work after glibc 2.5 being emerged

I am not sure about the cause at this moment. Thanks to fcitx, I still can input Chinese. However I can't get used to it, there is some difference between the two input methods. For example in fcitx you need to press 2 keys when switching between English/Chinese, while in scim you just need to press "shift", which is the same as in MS Pinyin.

Updates:
Anyway, I have come back to scim (1.4.4). So good bye to fcitx!
http://zhllg.blogspot.com/2006/10/latest-news-on-scim-and-glibc.html

scim-pinyin @MKINSTALLDIRS@ problem

Non-dev could not assign bug to individual dev?

I have been translating GWN to Simplified Chinese with my teammates since May 2006. Originally, I sent translated GWN to gwn-feedback. Several weeks ago I started to send to neysx, because neysx will be my mentor.
At the beginning, I sent translated GWN via email. However, the attachment was lost several times. Then I began to use bugs.gentoo.org. Neysx gave me a link.
http://bugs.gentoo.org/show_bug.cgi?id=147686#c4
I was supposed to use this link to assign bugs directly to neysx. I have tried it 3 times. Each time the assignee will be changed from neysx to docs-team. Like this one:
http://bugs.gentoo.org/show_bug.cgi?id=150726
However, dev's seem never know this. This explains why words like "Whatever you do, you do it wrong" would come out.
Later, neysx verified this fact himself:
http://bugs.gentoo.org/show_bug.cgi?id=150743
Then neysx said sorry to me.
Problem solved.

libglitz.la

I did some housekeeping work today, unmerged glitz.
I have disabled glitz USE flag for a long time. Don't know why it still exists today. Of course, I do --depclean regularly.
Then disaster happened as you may guess.
All the apps previously linked with glitz ceased to work.
So I have to resort to revdep-rebuild.
However, many program still failed to emerge, as "/usr/lib/libglitz.la" exists in many la files under /usr/lib.
Honestly, I still don't know exactly la files' functionality. But I guess it plays an important role in the linking process.
I used the following command to wipe out all the "/usr/lib/libglitz.la" string from la files under /usr/lib.
sudo find /usr/lib -name "*.la" | xargs sudo sed -i -e 's# /usr/lib/libglitz.la##'
Not sure whether this is the right way to go, but it works here.

[video] aiglx + beryl on ati r200

AIGLX + beryl 终于跑起来了

比XGL还要顺畅
哦yeah!

A good article about DocBook

reStructuredText

还是screen

C-o会和vim里的命令冲突的
所以现在用\\
escape \\\\
意思是\是命令键,相当于之前的C-a,要打反斜线\就打两个\\
同理 escape ^Oo 意思是C-o是命令键,C-o o就相当于C-o

看来我应该放弃AIGLX的努力了

https://help.ubuntu.com/community/CompositeManager/AIGLX
Information about unsupported hardware The open-source ATI driver (radeon) uses software rendering for alpha (transparency). This makes Compiz unusably slow on a Radeon 9200 (one of the fastest cards supported). No word from ATI on when their proprietary driver (which has proper 3d acceleration) will support AIGLX.

想让screen更像个桌面么?

需要有个好的screenrc
screen的默认配置的最大问题是ctrl-A和bash里回到行首的快捷键冲突,导致要使用后者要多打一个a(ctrl-a a)。比较麻烦。
下面这个screenrc重定义了这个快捷键
而且加上了一个更漂亮的caption,有日期时间主机名等
现在terminal是否有tab功能对我来说已经无所谓了
哈哈
# ~/.screenrc
# use visual bell
vbell on
# replace ctrl-A by ctrl-O
escape ^Oo
# set a big scrolling buffer
defscrollback 5000
# Set the caption on the bottom line
caption always "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= @%H - %LD %d %LM - %c"

一个python脚本,把一个目录下所有文件转成utf8编码

chardet package is in gentoo-china-overlay
layman -a gentoo-china
I have already filed a chardet's bug, requesting it to be added to portage
However, no response yet

#! /usr/bin/python
import sys,chardet,shutil,os,tempfile

def convert(fname):
        fp = open(fname)
        text = fp.read()
        encoding = chardet.detect(text)['encoding']
        rate = chardet.detect(text)['confidence']
        if rate > 0.9 and not encoding == 'utf-8':
                tmp,tmpname=tempfile.mkstemp()
                os.write(tmp, unicode(text,encoding).encode('utf-8'))
                shutil.move(tmpname, fname)

if __name__=="__main__":
        dir = sys.argv[1]
        for f in os.listdir(dir):
                pathname = os.path.join(dir, f)
                convert(pathname)

gdb里调试信号处理函数

要执行handle signum nostop
这样在收到信号的时候gdb就不会暂停执行
对于SIGINT,还需要
handle SIGINT pass
这样SIGINT信号就不会被gdb所截住,而是发给正在debug中的程序

Videos of SHLUG's talk on 9.10 is releasing!

http://www.shlug.org/
There were 3 talks on that day.
One of them is about Godson.
A Godson's real machine was shown during the talk.

Emacs + Gdb

早有耳闻这两者是不错的搭配
真正试验了一把之后发现
那岂止是不错,那是相当的不错!
绝配啊Linux的程序员一定要试一下
否则终生遗憾两个提示:
一个是在~/.emacs里定义变量gdb-many-windows:(defvar gdb-many-windows t)
再一个是启用gub-tooltip-mode,这样鼠标指向源代码里的变量时,emacs就能以tooltip提示框的形式显示变量的地址和值。再也不用p和x了。简直是太方便了,太方便了!

gdb in emacs, gdbtui and inputrc

In readline, C-j functions like "enter" key.
However, I defined C-j as menu-complete in my ~/.inputrc.
So, in gdbtui and when using gdb in emacs, enter key don't function as
usual, instead it performs menu-complete. As a consequence, i can't
use gdbtui and gdb in emacs.
I solved the problem myself.
I just thought that this problem should has something to do with
readline library.
Maybe my readline is too new? This is my first suspicion.
Then I suddenly remembered that I had redefined some key-binding in my
~/.inputrc.
Thus, the problem solved.reference:
http://tiswww.tis.case.edu/~chet/readline/rltop.html

gdb在c++程序里设置断点

原来需要写出完整的函数名,从namespace开始
比如ost::ScriptCommand::getMember
不需要用mangle过的名字有时候可能需要执行
set language c++reference:
http://sources.redhat.com/ml/gdb/2005-07/msg00066.html

mozilla-launcher支持aoss了

这样看youtube就不必再手工用aoss firefox来启动了。还有audacious支持id3 tag的编码侦测了,这是Liu Qing提供的消息。
http://gentoogle.blogspot.com/2006/09/emerge-audacious-112.html

一点debug技巧

怎么样打印出一个函数的stack backtrace,也就是函数的调用路径?
可以使用glibc的backtrace()/backtrace_symbols()函数,info在这里
http://www.gnu.org/software/libc/manual/html_mono/libc.html#Backtraces
这里有一段代码,可以拿去用
#include<execinfo.h>
int i;
void *bt[128];
int bt_size;
char **bt_sym;
printf("\n########## Backtrace ##########\n");
bt_size = backtrace(bt, sizeof(bt) / sizeof(void *));
printf("Number of elements in backtrace: %d\n", bt_size);
bt_sym = backtrace_symbols(bt, bt_size);

for (i = 0; i < bt_size; i++) {
printf("%s\n", bt_sym[i]);
}
free(bt_sym);
printf("########## Done ##########\n");

我参考了这个
http://sources.redhat.com/ml/crossgcc/2003-02/msg00013.html
如果不幸是C++程序可以利用c++filt来得到真正的函数原型
这里有段shell代码可以拿去用:
sed -e 's/[^(]\+(/c++filt /' -e 's/+0x.*$//g' | xargs -0 sh -c

还有一个gcc内建函数,gcc的扩展,也可能有用,不过只能得到返回地址
http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Return-Address.html#Return-Address

当一个软件的文档与当前实现严重脱节的时候

应该怎么办?
恐怕答案只有一个:RTFS
d4rkstar, how should i learn to program using bayonne script language, i am really frustrated
also i was :)
i adopted a tecnique
the sources are always update
the documentation often not
so i use a text editor and greps the sources for the keywords i need
for example
search "foreach" in all .cpp files in bayonne directory and subdirectories (i include ccscript and bayonne in my search)
so i look at the sources for keyword requirements
thank you, may i can follow your way, :)
s/may/maybe

Simplify or not to simplify, this is a question.

超级无敌全能forturn-zh脚本:
#!/bin/bash

# fortune-zh V1.0
#
# Copyright (C) 2006 Zhang Le
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

FORTUNE="/usr/bin/fortune"
CMD=`basename "$0"`

if [ -f "${HOME}"/.fortune-zh.conf ] ; then
CONF="${HOME}"/.fortune-zh.conf
elif [ -f /etc/fortune-zh.conf ]; then
CONF=/etc/fortune-zh.…

emake -j1

If you can manually make, but always fail in src_compile(), look at your MAKEOPTS, if it is "-j2", consider using "emake -j1"

I committed bayonne2-1.5.26.ebuild to voip overlay

First of all, thanks to genstef!
Two days ago, I was very happy to see that bayonne2 was in voip overlay.
After a while I was disappointed, coz I found the version was too old and would not compile sip driver.
So I modified the original ebuild to make a ebuild for bayonne2's latest version.
Now I have commited it to voip overlay.
It was not that easy(well, at least not for a newbie like me). I made a patch for it, otherwise sandbox violation would occur.
It is here:
http://overlays.gentoo.org/proj/voip/browser/trunk/net-misc/bayonne2/bayonne2-1.5.26.ebuild

nogetch = on in prozilla.conf

If you want to enable parallel-fetch FEATURE and use prozilla as your fetch command, DO remember to enbale nogetch option in prozilla.conf.
Otherwise there exists the possibility that you'll be driven mad, :)

I talked to Redhatter on #gentoo-mips about Godson

Wikipedia article about Godson.

(zhllg) http://www.lemote.com/lmpc.wmv Linux running on China's Godson CPU
(zhllg) Godson's instruction set is compatible with MIPS
(redhatter) wmv?
* Redhatter points out that Microsoft don't produce a Linux version of Windows Media Player
(redhatter) s/don't/doesn't/ rather
(zhllg) however, we can play it with mplayer if win32codec USE flag is enabled.
(zhllg) btw, i just find that link somewhere else, i am not the publisher
(redhatter) we can play it with mplayer on x86 with win32codecs USE flag :-)
(redhatter) Those Godson machines _do_ look nice though... pity they're damn hard to get hold of outside of China.
(zhllg) i have a dream that one day Gentoo could have Godson support, haha
(redhatter) Indeed... although that won't happen unless one of us can get hold of one.
(zhllg) Maybe you have known this, http://en.wikinews.org/wiki/Yellow_Sheep_River_develops_%E2%82%AC123_Linux_based_computer
(redhatter) Indeed, those are the ones I h…

Compile kernel as a normal user

I just heard this trick from my friend, rae.
It is quite easy:
make a dir, cd into itcp /boot/config .config (suppose you use "make install" to install kernel, :-D)make -C /usr/src/linux O=$PWD oldconfig, (and optionally make menuconfig to tweak a little bit)make && sudo make modules_install && sudo make installThe trick is on step 3, ;)

PS: However, there is a problem with this approach.
My original intention is to avoid touching the sources in /usr/src/linux and running as root.
But in fact, before you emerge kernel modules such as x11-drm, you still have to run 'make modules_prepare' in /usr/src/linux as root. Even I have used this command:
sudo env KBUILD_OUTPUT=/home/zhangle/build emerge x11-drmWhat's worse, the hints given in the output of the above command can't solve the problem:
* Found kernel source directory:
* /usr/src/linux
* Found kernel object directory:
* /home/zhangle/build
* Found sources for kernel version:
* 2.6.17-suspend…

制作中文可以拷贝的PDF

本来如果严格按照中文Gentoo wiki上的这篇文章来做的话应该是没有问题的,这篇文章使用的字符集是GBK。
不过我曾经按照及永刚大哥的一篇文章配置过UTF-8环境下的teTeX。
前者的主要文件放在/usr/local/share里,后者放在$HOME里。有些文件是重复的,这就有个取舍的问题,到底用的是哪个。

生成可以拷贝中文的pdf要用dvipdfmx,这个都有共识。
可是还要配置两个文件,一个是UGBK.sfd,一个是cid-x.map。
这次就栽在了后一个文件上,没有搞清楚用的是哪个。

我用strace分析了dvipdfmx运行时打开的配置文件,发现dvipdfmx依据的是$HOME里的cid-x.map。
strace dvipdfmx test.dvi 2>&1 | grep cid-x.map

然后我又发现了FerretL的这篇文章,原来有个命令可以查的
kpsewhich cid-x.map

今天重温了去年与一个Fedora Core使用者的吵架贴

有一点感悟
虽然他对Gentoo的某些指责有悖事实,但是有些话还是有些道理
以前谈到Gentoo的好,文档丰富是必须要夸赞的
可是我现在却突然感觉到
与其说那是我们的优点,倒不如说那是我们赖以生存的根本

#gentoo-cn on freenode

I registered #gentoo-cn several days ago. I am still a irc newbie op. But I am trying my best to catch up.
I am playing with supybot. It is interesting. I will try to write some plugins for it. That will be more interesting!
Yesterday Alastair Tse dropped in #gentoo-cn, I asked him if there are some better irc bot. To my surprise, he is the maintainer of supybot. Such a coincidents! hehe.

PS: The number of people hanging on #gentoo-cn reached 23 yesterday, although 2-3 of them are bots, :).

Screenshot

Image
My friend midx's desktop

Fwd: zh_cn GWN 20060731

WOO~~
Thanks to ALL members of zh_CN GWN translations team!!!!
This is not just my honur, but also everyone else's honor!!!
Thank you!!!

---------- Forwarded message ----------
From: Chris Gianelloni
Date: Aug 8, 2006 11:26 PM
Subject: Re: zh_cn GWN 20060731
To: Zhang Le
Cc: gwn-feedback AT gentoo DOT org, neysx AT gentoo DOT org

On Sun, 2006-08-06 at 19:23 +0800, Zhang Le wrote:
> Please help to commit, thanks!
>
> --
> Zhang Le, Robert

They're now committed to the tree.

I'm going to put you in touch with Xavier Neys, who is the Gentoo
Documentation Project lead. He (or someone from his team) is going to
mentor you so you can become a Gentoo staff member. This will allow you
to commit your translations directly, as you and your team have been
doing an excellent job, and I'm just holding you guys back now.

--
Chris Gianelloni
Release Engineering - Strategic Lead
x86 Architecture Team
Games - Developer
Gentoo Linux



--
Zhang Le, Robert
Linux Engineer/Trainer
http://zhllg.spaces.msn.co…

Gentoo takes you a lot of time?

I saw someone expressed this concern about Gentoo in a Chinese Linux forum. His original word is "Gentoo and LFS are only suitable for those who have a lot of time and a good machine".

I replied him. Here are my main points:
Maybe inevitable at the beginning, especially for Chinese users. Lots of apps need to be tuned, configured.
But not necessarily afterwards, especially if the number of packages on your systme remains unchanged or fluctuates not so much.
Your time maybe wasted under probably only one situation, i.e. you need a software desperately, but you haven't installed it yet.
But if someone really often faces this situation, my suggestion to him is to choose something else, be it Debian or Arch.
Also, I expressed one of my speculations of the future: Software compiling speed and the complexity of software, which increases faster? I think it's the former. :) But will OOo be compiled in minutes someday in the future? I am not sure.

[Gentoo]Two things for me to remember

Never try to use x11-drivers/ati-drivers, it stopped to function normally on my hp pavilion zt3000 since several months ago.Never try to enable option "FastAGPWrite" in xorg.conf, my notebook simply hangs whenever I startx with this option enabled.

open...: Economistical with the Truth