Something is wrong

这两天伊甸园版内人气挺旺的,可惜我一点兴趣都提不起来,老是在想,怎么又多了一屏?

说不出为什么,但是总是觉得有点不对劲,关于自己的。

有点郁闷,又有点羡慕那些人。

不过还是把那些他们美好的回忆、大发牢骚的帖子作合集,再转发给他们。算是给他们的祝福吧。

看到一个id叫QQ,真正让我注意的是他的签名档:

曾有人做过实验,将一只最凶猛的鲨鱼和一群热带鱼放在同一个池子,然后用强化玻璃隔开,最初,鲨鱼每天不断冲撞那块看不到的玻璃,耐何这只是徒劳,它始终不能过到对面去,而实验人员每天都有放一些鲫鱼在池子里,所以鲨鱼也没缺少猎物,只是它仍想到对面去,想尝试那美丽的滋味,每天仍是不断的冲撞那块玻璃,它试了每个角落,每次都是用尽全力,但每次也总是弄的伤痕累累,有好几次都浑身破裂出血,持续了好一些日子,每当玻璃一出现裂痕,实验人员马上加上一块更厚的玻璃。后来,鲨鱼不再冲撞那块玻璃了,对那些斑斓的热带鱼也不再在意,好像他们只是墙上会动的壁画,它开始等着每天固定会出现的鲫鱼,然后用他敏捷的本能进行狩猎,好像回到海中不可一世的凶狠霸气,但这一切只不过是假像罢了,实验到了最后的阶段,实验人员将玻璃取走,但鲨鱼却没有反应,每天仍是在固定的区域游着它不但对那些热带鱼视若无睹,甚至于当那些鲫鱼逃到那边去,他就立刻放弃追逐,说什么也不愿再过去,实验结束了,实验人员讥笑它是海里最懦弱的鱼。可是失恋过的人都知道为什么,它怕痛。

虽然以前看过,但是现在突然发现特别有感觉。也许是太胆小了,没有任何时候像今天那样手脚无措过。现在有点像老王出的那套让我只拿9分的试卷的最后一题,知道是怎么回事,但是丝毫不知道该怎么做。

搞定qterm

新装系统就是问题多,前两天发现Qterm有问题,而且问题多多,今天终于比较完美的解决了。

第一个问题是无法输入中文,scim的输入法调不出来。网上找了半天没有答案,原来以为是scim的环境变量的问题,但是我已经export QT_IM_MODULE=”scim”,应该不是这个问题。 后来终于发现了原因:还需要下载一个模块:scim-qtimm,找到源,下载安装之后就可以输入了。

第二个问题是字体。开始的时候,所有的中文字都是方块,显示不了,我在配置文件(~/.qterm/address.cfg)中修改一下,将所有的 fontname改为AR PL New Sung。这样就能正常显示,可能是因为qterm默认的中文字体是Nsimsun的关系吧。
不过,地址显示的时候还是方块,找了半天,原来是在~/.qterm/qterm.cfg里面,将font之类的字体选项全部替换成AR PL New Sung就可以了。

不过注意一点,就是这里的AR PL New Sung也是我系统的中文字体,如果你的系统中没有这个字体,那就用其他的中文字体好了。

硬盘安装debian的问题

实验室机器要进行保密检查,硬盘全部格式化了。顺便装一个debian吧。

不想刻碟,所以用硬盘安装。下了一个grub for dos,这样就可以从硬盘引导了。然后下载了一个debian的网络引导iso文件。从该文件里面的install目录中提取出vmlinuz和initrd.gz文件。

进入grub,从vmlinuz和initrd.gz引导,可以成功的引导起来。但是每次都会停在寻找CD上,说电脑中没有插入CD。

百思不得其解,以前每次都是没有问题的。这次为什么不行呢?

过了几天,突然发现了问题所在。那个 vmlinuz和initrd.gz是光盘的引导文件,自然要找光盘了,如果是从硬盘安装的话,则需要硬盘安装的引导文件。

其实,那两个文件就在http://debian.cn99.com/debian/dists/sarge/main/installer-i386/current/images/hd-media/2.6/,下载那两个文件就好了

算是低级失误吧,不过也有前科,记得以前配置linux0.11的时候就是,用了一个软盘的root文件,一直引导不起来,kernel panic。后来用了一个硬盘的文件就好了,呵呵
-____- b!

ODT

ODF(OpenOffice.org Open Document)是一种office文档的格式,现在已经被OASIS(The Organization for the Advancement of Structured Information Standards,很巧,我老是也是这个名字,呵呵)通过了,成为了Office文档的标准,请注意,这里的office可不是ms office。

事实上,ms office的标准是不公开的,而 ODF却是可以被公众浏览的,所以大家可以基于ODF的标准,进行定制开发。ODF已经被OO2和KOffice的下一个版本采用。

今天简单的看了看ODF的标准,觉得挺像FF的扩展的。ODF的定义是:a royalty-free, XML-based file format that covers features required by text, spreadsheets, charts, and graphical documents。可以看出,它是基于xml格式的,换句话说,它类似于html格式的超文本页面,但它的格式要求更加严格,一定是良构的,此外,还有一些样式的xml文件,这个类似于xsl文件,定义一些主xml文件的样式之类的。

举一个简单的helloworld例子吧。例如有一个hello.odt文件,其实它是一个zip格式的压缩文件。解压后,可以发现有一系列的文件和目录。挑重要的说罢吧。

  • mimetype

这个是唯一的非xml文件,它只是说明了该odf文件的类型。例如,文本处理文件的内容为 application/vnd.oasis.opendocument.text。

  • META-INFmanifest.xml

这个文件在META-INF目录中,它列出了odf文件的压缩包中所有的文件和目录集合。

  • meta.xml

该文件类似于odf文件的摘要,列出了文件作者、时间等信息。

  • settings.xml

该文件列出odf文件的所有设置,就像一个配置文件。例如,列出了文档页面的长宽等信息。

  • styles.xml

这个文件有点类似于xsl文件(之所以不说类似于css文件是因为它是xml格式的@@),它给出了文档所需的样式。

  • content.xml

这个才是odt文档的主文件,给出了所有内容,当然是以xml格式的。

[coolcode lang=”xml”]

<office:document-content
xmlns:office=”urn:oasis:names:tc:opendocument:xmlns:office:1.0″
xmlns:style=”urn:oasis:names:tc:opendocument:xmlns:style:1.0″
xmlns:text=”urn:oasis:names:tc:opendocument:xmlns:text:1.0″
xmlns:table=”urn:oasis:names:tc:opendocument:xmlns:table:1.0″
xmlns:draw=”urn:oasis:names:tc:opendocument:xmlns:drawing:1.0″
xmlns:fo=”urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0″
xmlns:xlink=”http://www.w3.org/1999/xlink”
xmlns:dc=”http://purl.org/dc/elements/1.1/”
xmlns:meta=”urn:oasis:names:tc:opendocument:xmlns:meta:1.0″
xmlns:number=”urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0″
xmlns:svg=”urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0″
xmlns:chart=”urn:oasis:names:tc:opendocument:xmlns:chart:1.0″
xmlns:dr3d=”urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0″
xmlns:math=”http://www.w3.org/1998/Math/MathML”
xmlns:form=”urn:oasis:names:tc:opendocument:xmlns:form:1.0″
xmlns:script=”urn:oasis:names:tc:opendocument:xmlns:script:1.0″
xmlns:ooo=”http://openoffice.org/2004/office”
xmlns:ooow=”http://openoffice.org/2004/writer”
xmlns:oooc=”http://openoffice.org/2004/calc”
xmlns:dom=”http://www.w3.org/2001/xml-events”
xmlns:xforms=”http://www.w3.org/2002/xforms”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
office:version=”1.0″>

<style:font-face style:name="Times New Roman"
svg:font-family=”‘Times New Roman'”
style:font-family-generic=”roman”
style:font-pitch=”variable”/>
<style:font-face style:name="Arial"
svg:font-family=”Arial” style:font-family-generic=”swiss”
style:font-pitch=”variable”/>
<style:font-face style:name="SimSun"
svg:font-family=”SimSun” style:font-family-generic=”system”
style:font-pitch=”variable”/>
<style:font-face style:name="Tahoma" svg:font-family="Tahoma"
style:font-family-generic=”system” style:font-pitch=”variable”/>

Hello world!

ssssss

[/coolcode]

基本上就是这样了,还是很清晰的。

开源软件竞赛

晚饭的时候,对面坐的两个同学。由于他们刚到,要去打饭,所以先把东西放在椅子和桌面上占座。桌子上放了两张一样的宣传纸,我好奇,瞅了一眼。原来是开源软件竞赛的宣传纸,想不到今年搞得这么大,想想去年还是听说这件事情的呢,网址还是向高策要的。

那两个人打完饭菜回来,吃的时候开始聊了,从代码量到开发语言。我只是装作在吃饭,没有插嘴,毕竟这不是我的作风。

A:用什么语言写呢?最好是编写界面方便一些的。
B:用Delphi吧。(呵呵,我没说话,当我什么都没有听到,反正我没有用过那个东东,没有发言权。)
A:用C#吧。(嗯,挺亲切的,不错不错)
B:现在我不考虑界面这个问题,我在考虑内核(我差点把饭给喷出来,这个词够专业)

后来,两人基本上没有说话,可能都在思考问题吧。其实,我还是有一些想说的,但是都忍住没有说,每一个人都要有一个成长的过程。像cliff说的那样,经历过失败,才能记得住。

说界面不重要,那是假的,我们的项目无论是在ibm的创新大赛上,还是在开源软件大赛上,输人家一筹,最主要的原因就是没有可视化的东西,虽然idea够好,做的够“深”,但是评委们不可能在这么短的时间内了解你的系统,只能够通过感官刺激的强烈程度来判断你的东西的好坏。

这就是为什么李宇春能够一鸣惊人的很重要原因,她的外形、嗓音,对大家的冲击还是很强烈的,当然我没有对她的任何不敬,说这件事情也只是举一个例子:)

不过还是很钦佩那个老兄说的“内核”问题的,毕竟系统的运行机制搞明白了,整个系统基本上就没有问题了,用什么语言做只是小case了。

修改signitureswitcher

用thunderbird用久了,觉得它的签名挺有意思,可以从一个文件中读取签名。特别是一个signiture switcher的扩展,甚至可以根据发件人的邮箱来自动选择签名。

例如,发给cs的邮件,签名档自动用我的cs的个人信息,而发给pact518的,则用我实验室的信息。这样,我发每一封信的时候可以不用考虑签名档了。

不过这个扩展也有一个bug,我的签名档文件是有好多行组成的,但是到写信的时候却变成了一行,让人看得有点晕。

今天闲下来,终于可以看看这个问题,反正修改firefox/thunderbird 的扩展以前也做过,没什么了不起的。

读了一下代码,发现原来我写信的时候一直使用的html格式,我的签名档文件换行是“rn”的,而“rn”在html中是被免疫的,所以所有行走在一起了。

解决方法很简单,将所有的“rn”替换为“
”即可,如下。
[coolcode lang=”javascript”]
if (GetCurrentEditorType() == “textmail”)
{
if (signature.indexOf(“– n”) == -1)
signature = “– n” + signature;

currentEditor.insertText(signature);
}
else
{
if (signature.indexOf(“– n”) == -1 && signature.indexOf(“– <") == -1)
signature = “

--

” + signature;

if (signature.indexOf(“n”) > -1)
signature = signature.split(“n”).join(“
“);

currentEditor.insertHTML(signature);
}
[/coolcode]

当然前提是你知道如何添加进去,呵呵。如果想要现成的话,就mail给我,或者留言,我发过来:)

A Trick in FF Extension Version

自己做的Firefox扩展觉得很爽,但是官方的版本老是在更新,现在xyzproxy的版本比我当时定制的版本高了不少,一直现在Firefox对addon更新的时候老是提示我是否更新。

更新吧,用的又不顺手了;不更新吧,有老是提示我,很烦。干脆,来一个无赖的招式,人家老外叫做trick,差不多吧。就是把我定制的addon的版本调高一点,这样FF自然就不会提示我了,呵呵。

具体做起来也很简单,找到相应扩展的目录,例如我的 xyzproxy目录就在C:Documents and SettingsMarvelApplication DataMozillaFirefoxProfileswxec0cta.defaultextensions{3EA1289D-F5EF-4272-9CAF-159E1F661BFD},找到install.rdf文件,打开。

会看到下面一段,不同的扩展不一样,但是基本都差不多,想要知道更深的可以参考这里

[coolcode lang=”xml”]
xyzproxy
{3EA1289D-F5EF-4272-9CAF-159E1F661BFD}
1.12
To manage proxy ezly.
Xiang wei. Email:aubucu@hotmail.com
http://xyzboard.com/
http://xyzboard.com/firefox/update.xml
[/coolcode]
修改em:version的值,将1.12改为9.12,这样就OK了。估计xyzproxy的版本出到9的时候还久着呢呢。