Thursday, November 17, 2005

输入法

今天发现尉迟方兄的blog有不少跟输入法相关的链接:
http://www.cnblogs.com/realfun/archive/2005/03/28/127152.aspx
此人还发布了一个输入法源码:
http://realfun.cnblogs.com/archive/2005/06/26/181302.aspx

Yuking兄在linux的输入法项目fcitx是个C语言编写的
http://www.fcitx.org

Input Method Architecture for X Window/Open source Platform
see to http://wiki.debian.org.tw/ChineseInformationProcessing#.E8.BC.B8.E5.85.A5.E6.B3.95
1. Xim.
ftp://ftp.x.org/pub/R6.3/xc/doc/hardcopy/XIM/xim.ps.gz
http://www.mozilla.org/projects/intl/input-method-spec.html
2. GTK+/Qt IMModules
3. IIIMF Internet/Intranet Input Method Framework
4. SCIM Smart Common Input Method platform
http://www.scim-im.org
http://sourceforge.net/projects/scim

modules list:scim, skim, IMEngines, scim-qtimm
qt_immodle http://www.kde.gr.jp/~daisuke/immodule_for_qt/ImmoduleForQtDocs.html
5. Qtopia的输入法及plugin
Writing Qtopia2.20 plugins: http://doc.trolltech.com/qtopia2.2/html/writing-plugins.html

6. links about chinese ime
http://www.chineselanguage.net/guide/Learn_Chinese/Input_Method/index.php

Wednesday, November 16, 2005

STL的排列算法

《Effictive STL》的item3提及两个算法:
previous_permutation和next_permutation,
看了STL的实现源码后仍有些不解,
于是在网上搜索到一篇不错的文章。

http://www.dogma.net/markn/articles/Permutations/
是Mark Nelson发表在C/C++ Users Journal上的
"C++ Algorithms: next_permutation()"
很不错的。

该文从一道小学六年级的数学作业落笔,
给出了该题的解题程序,
然后解说数字排列,
进而剖析了STL的next_permutation算法的实现。

文章最后举一实例模拟算法的运行后,
详细阐述算法在序列中出现重复值时的行为。
这个网页的上级目录还有各类其它文章,
或许值得一读。

Monday, November 14, 2005

学习之道

回想起先前众多英语教师上课的方式,
深觉得害人不浅,
本还有些学习的冲动与兴趣,
渐渐地竟被瓦解得无影无踪。

每堂课老师大抵是复习一下上讲课,
然后开始讲生词,
讲到课文中往往还有着重挑出这些词还回顾,
之后便是课文中的难点。

考试往往也是挑些不好记的,刁钻的题目,
总之,给人从一接触到放弃,
中间都是一个困难到一个困难,
当然有些人吃得苦中苦,便成了人上人了。

我不知道这些怪现象的根源是打哪开始的,
但它总是潜移默化中给人树立了这种感觉:
学习真TMD不爽,难得很,
这时候老师们似乎在感觉到自己存在的意义。

我常想起我在小学2、3年级时就读完《碧血剑》,
当时连封面的剑都误辨为钗,
可基本不用怎么查字典我读完而且饶有兴趣。
也有不少生词生句,但不影响我的阅读。

再想起我的语文启蒙老师给我们上课,
印象中他从来就没有挑太多我们不懂的东西来强调来强调去,
相反他总是让我们熟读学过的整篇文章成诵,
所以那些里子时我从来就没觉得语文有多难。

这段日子里老看战争片,抗日的、国共战争、明清之战...
发现敌对双方无时无刻不是在争夺地盘,
而且如何巩固打下的江山都不是容易的事,
那么在学习中记忆与淡忘不正是一对死对头吗?

无论是搞游击的八路军还是草莽李自成,
他们都意识到建立根据地的重要性,
大清入主中原前,所有的战斗都是围绕着它的盛京进行,
那么我们在学习中的根据地在哪里?

包括英文学习在内的所有学习,
我认为也应该是建立根据地为依托,辐射性地扩张,
阅读文章,不要习惯性地搜索生词难句,然后查词典词霸,背诵...
而是忽略他们,先求大义再根据需要抠小义,如此罢了。

Sunday, November 13, 2005

奇书《周易》

周末应友之约赴北大南门逛‘风入松’书店,
偶阅一书,其名已忘,约为《周易入门》,甚迷。
后于此觅得简介,甚好:
http://www.ccnt.com.cn/wisdom/rujia/zhouyi/yijing.htm

细看甚惊,它用8卦把天地万物划分为4组对应的抽象,然后两个8卦衍生出八八64卦。
64卦之下又细分为更小的单元--爻,每卦6爻,爻分阴阳(--/—)。
忽然觉得里边竟包含了现代计算机科学类似的东西:
3个二进制位正是八卦,6个二进制位即八八64卦,每个二进制位一爻,0/1各表阴阳。

计算机的6个二进制位自右向左对应了卦自下而上的6爻,
《周易》的《经》命名为:初六、九二、九三、九四、六五、上六,
“九”阳“六”阴,故可这样理解:右起的第1~6个二进制位中:
第1、5、6为阴而第2、3、4为阳。

每卦的信息含:卦画(符号)、卦辞、爻辞四部分,可定义一个结构体
typedef struct _iicon_info{
IIconType iicon_type;
char *iicon_title;
char *iicon_summary;
char *iicon_detail;
} IIconInfo;

实际上,卦画可用IIconShape类管理,据iicon_type各个位的阴阳(0/1)来画,
标题与卦辞也可用在表中的索引来记录,
爻辞(iicon_detail)还有筮辞与非筮辞(又可以定义一个数据类型来描述),
前者是占筮的内容与结果记录,后者是作者理论说明。

《易》的解说是《易传》,7种10篇,统称“十翼”:
《彖》上下篇、《象》上下篇、《系辞》上下篇、《文言》、《说卦》、《序卦》、《杂卦》。
从汉到宋期间《周易》学者分出两派六宗,
足见此书之奇。

胃口

忽然想起前些天看过某人QQ的个性签名,
说得真是好,
原文如下:

吃自己胃消化得起的食物,娶自己养得起的老婆。

我想,因为人的思想比天空还要广阔,
倘若我们不小心以为自己的的胃也这么大,那就危险了。