lilacbbs

建立这个站真不容易,有好多因素需要考虑。法律上,伦理上,lanslot最清楚了。看看旧的丁香是怎么死的:http://lilacbbs.com/bbscon.php?board=Black_Soil&id=316828。现在新丁香在内测,你需要先登录才能看。也可以到http://hi.baidu.com/lilacbbs看《近期的回顾》系列。

作为技术方面,我可以不用考虑那么多复杂的人和事请,只要面对系统和代码。当然,这也不是一件容易的事情。要让smth1.2适应新的系统真不是一件容易的事情,不过还好有神奇的debian。还有感谢那很老的服务器,能够让debian识别出它的光驱来,总之那天安装系统和bbs基本上没什么问题。感谢上帝和RMS、Linus一干人等,让我那天过的还算顺利。

之后,基本上就是测试各种功能,也许这段时间,sysop 和 blacksoil 是两个大版。每天都会收到N多bug report,大部分是以前系统的问题,这个暂时无法解决;另一部分是新系统的问题,有可能是一些东西没有配好。总之问题不是很大。

最关键的是新站定位的差别,要求很多源码级的改动。首先把deem的所有认证去掉,添加自己的激活方式。还要做到telnet和web整合,这部分挺郁闷的。不过还好,最后搞定,基本上没有问题。后来出现的问题主要集中在net和com的域名解析和term的显示上,这也是我无能为力的。

以前说好事不出门,现在看来真是胡说。感觉还没怎么宣传,昨天的在线人数已经超过了300,刚才还到了377。oasis和vivian还上来了,还有一些我觉得不会上来,至少不会这么快上来的人也上来了。

站本身没有什么,关键在于人。正是有了一群与紫丁香共存的站长和站务,和一大批热爱和关注紫丁香的朋友——暂且不关心这个紫丁香到底是哈工大紫丁香还是紫丁香社区——才有了一个有生命力的社区。

也许有很多人在盯着这个社区,有人想让它存在,有人想让它倒下,还有人想利用它分一杯羹,大千世界,这不仅是一个bbs,更像是一个浓缩的社会。

总之,我知道自己在做事,在做一件好事,至少是像google说的那样:不做恶。

记住这个名字:lilacbbs

做完搜索

这年头,感觉自己做的事情越来越没有谱了。干信息按全的做网格已经挺搞笑了,最近的项目还要做搜索引擎,ft一个。

smile师兄开始说要我做分词之类的东西,看来要和自然语言的混了。不过后来google一下,可以用Lucene做,这样底层的建索引、倒排这些东西我都可以不关心了。只要专心做中文的分词即可。

其实Lucene有自己的中文分词类CJKAnalyzer和ChineseAnalyzer。原来以为可以用它俩就可以了,毕竟是官方的嘛。没想到下载下来,就是两个java源文件,运行一下,发现前者就是将所有的文字分为两个字的词组,后者和StandardAnalyzer一样的,更别说什么词库了,那个晕啊。

没办法,继续googling,找到一个segment.jar,这个有词库,分得还可以,基本上能按照词库里面的词把文章分开了。下面的工作就是将它改造为Lucene的Analyzer,这部分就是分析+copy+paste+重写,晚上基本上做完了。除了分出的词的startoffset和endoffset有点问题之外,基本上能做索引,搜索了。

革命尚未成功,继续吧。

修改bbs代码

昨晚和cowoo讨论了一下,发现Firefox下面首页中访客进入有问题。今天早上修改了一下,兼容了FF,包括访客登陆、聚集等。

趁这个机会,又修改了menu,让Firefox下支持邮件功能。以后终于可以在无线状态下收发信了。

基本上就是这些,以后再看看菜单的问题,争取能够完美获得Firefox的支持。还有IE7下面的居中问题,问题比较多,时间比较少,慢慢来吧。

E2的linux支持

以前只看到了moto官方网站中win下面E2的sdk,没有看到linux下的支持,误以为linux对E2的支持不够。今天看了OpenEZX才知道,linux下面的确很方便。

1 USB Modem的支持

a) 加载cdc-acm:modprobe cdc-acm
b) E2以modem的形式接入电脑,执行cat /proc/bus/usb/devices,会有下面一段:

T: Bus=05 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#= 5 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=02(comm.) Sub=02 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=22b8 ProdID=3802 Rev= 0.00
S: Manufacturer=Motorola
S: Product=Motorola USB Modem
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm
E: Ad=82(I) Atr=03(Int.) MxPS= 16 Ivl=64ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

下面就可以用minicom连接了,端口为/dev/ttyACM0。

2 USB Net

a) 加载usbnet:modprobe usbnet
b) E2以usbnet的形式接入电脑,执行cat /proc/bus/usb/devices,会有下面一段:

T: Bus=05 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#= 6 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=02(comm.) Sub=02 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=22b8 ProdID=6027 Rev= 0.00
S: Manufacturer=Motorola
S: Product=Motorola USBLAN
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=02(comm.) Sub=0a Prot=00 Driver=zaurus
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=82(I) Atr=03(Int.) MxPS= 16 Ivl=64ms

c) 初始化网络接口:
ifconfig usb0 192.168.1.1 netmask 255.255.255.0 mtu 900

d) 登录:
telnet 192.168.1.2

3 内存卡形式
这种情况就不说了,和插U盘没什么区别,直接mount即可。

P.S. E2只能用java开发,这点很不爽,连修改系统时间这么简单的功能都无法完成。看看能不能flashing一下,支持直接执行.sh文件。

j2me之hello world

没想到居然我会去写j2me的程序,呵呵。没办法,E2只支持java的软件安装,moto的dev上面都是java的sdk,只能将就一下了。

装了eclipse的插件eclipseme,这样就可以用了。不知道为什么还有pending changes,不过能用,也就没有深究。

总的来说,用java写gui还是相对比较方便的。虽然没有拖拽功能的IDE,但是代码看起来还是比较清晰的。问题主要出在了deploy的时候。在手机上面安装的时候,总是提示未找到相应的文件。

研究了好久,才知道怎么回事情。原来作为deployment,需要有两个文件:一个jad文件,一个jar文件;前者是软件的描述,后者是软件的主体程序部分。其中jad文件有一个属性MIDlet-Jar-Size这是jar文件的大小,可不能错,很有可能在修改jar文件之后忘记修改该属性,这样就会出现找不到文件的错误。另外一种情况是,jar文件中还有META-INF/MANIFEST.MF文件,该文件也有一些必要的信息,如果缺少的话,同样会出现这个错误。而Eclipse默认只是添加了很少的信息,所以我们需要添加三个属性MIDlet-Name、MIDlet-Vendor和MIDlet-Version,这样就好了。

现在问题是java只能处理比较上层的东西,即使硬件部分,也是局限在蓝牙这些已经被定义好的东西上面,而其他的硬件控制,无论在Developer Guide、Media Guide,还是Developer Reference Sheet都没有涉及到。看来很有难度啊。

找到自己的paper了

今天帮李毛查点资料,上了期刊网。随便找找,意外的找到了自己的那篇paper,呵呵。

本来想拍一张彩色照的,但是现在的ws不知道为什么只有plain text编辑了,只能拍黑白的了。

——————————————————————————————————————–

【英文篇名】 Wingrid-Parameter Sweep Oriented Grid Computational System
【作者】 刘文懋; 张伟哲; 张宏莉;
【英文作者】 LIU Wen-mao; ZHANG Wei-zhe; ZHANG Hong-li (School of Computer Science and Technology; Harbin Institute of Technology; Harbin 150001; China);
【作者单位】 哈尔滨工业大学; 计算机科学与技术学院; 150001;
【刊名】 计算机工程与应用 , Computer Engineering and Applications, 编辑部邮箱 2006年 S1期
期刊荣誉:中文核心期刊要目总览 ASPT来源刊 中国期刊方阵 CJFD收录刊
【关键词】 网格计算; 参数扫描应用; 启发式调度; 运行时自适应调度; 领导节点;
【英文关键词】 Computing Grid; Parameter Sweep Applications; Heuristics Scheduling; Adaptive Runtime Scheduling; Leader Node;
【摘要】 参数扫描应用在计算网格环境下扮演十分重要的角色。在Wingrid项目中,我们提出并实现了一种面向参数扫描的自适应调度机制。客户端,主节点和从节点的调度基础设施,以及基于领导节点的通信系统能够改善调度的效率。同时,我们比较了自适应workqueue算法和标准启发式调度算法。实验结果显示大网络延迟下,启发式调度算法效率高于workqueue算法,在各种启发式算法中,min-min启发式算法的任务完成时间最小。
【英文摘要】 The parameter sweep applications play important roles in the computational grid environment.An adaptive scheduling schema for parameter sweep applications is proposed and implemented in our Wingrid project.The client, master and slave scheduling infrastructure and the leader-node-based communication system can improve the scheduling system efficiently.Also,we compare the adaptive workqueue algorithm with standard heuristics scheduling algorithms.The experiment results show that heuristics scheduling algorit…
【基金】 国家973重点基础研究发展规划资助项目(G2005CB321806);; 国家自然科学基金资助。
【DOI】 CNKI:ISSN:1002-8331.0.2006-S1-009

Hacking ROKR E2

准备开始鼓弄我的moto ROKR E2了,当时买了它也是因为它的OS是linux的。

google了一下,好像开发的东西不是很多,先找到了一个叫做openezx的wiki,其中这个是介绍E2基本信息的,回头找一根usb线telnet看看。

感觉不足的是它居然不支持avi格式的视频,这个实在是太不帅了,不知道谁会弄一个出来。要我来做实在是太复杂了,还要看很多东西……

xlyrics

最近在听音乐,横向评测了几款linux下的音频播放器。觉得xmms实在是比较落伍了,现在用的比较好的是bmp,不过貌似bmp也停止开发了,取而代之的是bmpx,也就是Beep Media Player eXperimental。我用了一下,感觉还不错,尤其是听各种频道。不过感觉现在功能完成的还是比较少,中文支持也不好,希望以后的开发过程中能够加进对歌曲中文的支持。
其他还有amarok和audacious,不过前者是KDE下面的,而后者我感觉和bmp差不多,所以没有怎么用。现在我主要还是用bmp。现在就来说说bmp吧。

xmms 的诟病就是对于中文的支持了,尤其是在英文的locale下面,我到现在还没有搞定中文的歌名显示。不过bmp 对中文支持还可以,中文歌名支持如下:首选项->插件->媒体-> MPEG 音频插件->标题->勾选“将非UTF-8 ID3标签转换成UTF-8,ID3编码为GB2312,在选择完之后,我重新载入了列表,这下就可以显示中文了。

今天看到一个可以显示歌词的东东xlyrics,它可以作为xmms和bmp的插件,最新版本0.4.6支持从网上下载歌词。用了一下感觉还不错。不过在使用的时候有几个问题,看了一下代码,修改一下,现在用的比较顺。

首先是编码的问题,

在处理中文歌名的时候会有一些问题,修改xlyrics-0.4.6/src/lyrics_download.c

57 if(gtk_tree_model_get_iter(GTK_TREE_MODEL(store), &iter, path)){
58 gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 1, &resrc, -1);
59 gtk_widget_destroy(download_window);
60 tpid = fork();
61 if(tpid == 0){
62 char buf[256];
63 gchar *utf8;
64 strcpy(buf,resrc);
65 utf8 = locale2utf8(buf);
66 execlp(“/usr/lib/xlyrics/downloadlyrics.pl”,
67 //”downloadlyrics.pl”, resrc, redes, 0);
68 “downloadlyrics.pl”, utf8, redes, 0);
69 exit(-1);
70 }
71 wait_user = 0;
72 final = 1;

之后编译,将编译好的xlyrics复制到/usr/local/bin下面覆盖原来的xlyrics文件。

修改/usr/lib/xlyrics/downloadlyrics.pl:

use HTTP::Lite;
$http = new HTTP::Lite;


use Encode;
use Encode::CN;


$gbmusic = encode(“euc-cn”,decode_utf8($music));
$pattern = “[0-9]+ “;
$gbmusic =~ s/$pattern//g;

# search lyrics in basic database
%vars = (
“souqu” => “歌名”,
“souci” => $gbmusic,
“ku” => “db”,
“B1” => “提交”
);
$http->prepare_post(%vars);
$http->request(“http://www.hjqing.com/lrc/index.asp”)
or die “Unable to get document: $!”;
if($http->body() =~ /没有你想找的歌词/){
# try the addtion database
glob $http = new HTTP::Lite;
%vars = (
“souqu” => “歌名”,
“souci” => $gbmusic,
#”souci” => $music,
“ku” => “dbadd”,
“B1” => “提交”
);
$http->prepare_post(%vars);
$http->request(“http://www.hjqing.com/lrc/index.asp”)
or die “Unable to get documents $!”;
$http->body() =~ /没有你想找的歌词/ && die(“find nothing”);
}
其中,红色的部分是用于编码转换的。蓝色的部分不是必需的,我电脑上有的专辑的歌曲都是10 xxx这种形式,开头有数字加空格,这种形式搜不到歌词,所以需要将开头部分去掉,就需要使用蓝色部分。

此外,xlyrics工作在gb2312的编码下面,所以需要将原来的 /usr/local/bin/xlyrics 文件进行备份成 /usr/local/bin/xlyrics.old,这里文件的具体位置和你的安装有关。接着创建 /usr/local/bin/xlyrics:

export LANG=zh_CN.GB2312
/usr/local/bin/xlyrics.old

这样,就可以听歌看歌词了,感觉很不错。

自由软件就是好,没事情做一下源代码级的hack @@

致招商银行的公开信(转载)

致招商银行的公开信

作者:徐继哲

大概在一年以前,我有了写这篇文章的想法,由于诸多事情,一拖再拖。最近,终于下决心要完成这封公开信。可我却用了三周的业余时间才完成这个短小的文章, 这和我以前的写作经历相比,简直是蜗牛的速度。为什么这么艰难呢?因为在这篇文章里,我试图和大家讨论一个很多人被迫接受的、不合理的、甚至已经习以为常 的事实,并期望和大家一起努力来改变这个事实。

多年以来,我一直都是招商银行的用户,同时也一直在忍受招商银行不平等的网上银行服务。无论是什么网络服务,都要遵循互联网的行业标准和技术标准, 这是大家都知道的基本道理。可是不知为何,招商银行的网上银行服务却没有遵守W3C等互联网标准,而是采用了微软公司的专有软件技术,ActiveX。采 用微软的ActiveX专有软件技术提供公共服务意味着什么?这意味着用户只有使用微软专有的IE(Internet Explorer)浏览器才能正常使用招商银行的网上银行服务;这意味着用户在使用网上银行时,招商银行将用户限制到了专有的、昂贵的、漏洞百出的专有软 件Windows上,时下正在肆虐的“熊猫烧香”病毒不 知又折磨了多少微软Windows用户;这意味着招商银行极大地提高了用户使用网上银行的成本,因为你只有花费上千元人民币购买微软的Windows操作 系统才能使用招商银行的网上银行;这意味着招商银行引导用户降低了自己的道德水准,同时增加了用户的法律诉讼风险,因为我不认为我们普通老百姓有足够的财 力去购买微软的Windows操作系统,绝大多数用户最终会选择盗版;这意味着像我这样的只使用GNU/Linux、*BSD、Firefox(大量的 Windows用户也在使用Firefox,因为它更安全)的大量自由软件用户无法正常使用我们应得的网上银行服务,因为我们拒绝专有软件,我们抵制软件 专利,我们需要使用、学习、修改、再发行软件的自由;这意味着招商银行正在不公平地对待你的每一位用户,正在歧视自由软件用户;这意味着招商银行是一家业 余的、虚弱的、不负责任的公司。

现在,作为一名招商银行用户和自由软件用户,我请求招商银行立刻放弃微软的专有软件技术,而是采用符合W3C、RFC等开放的、自由的互联网标准来 开发网上银行服务。使用开放的、自由的标准意味着每个人都可以使用你的服务,无论他使用的是微软的专有软件还是GNU/Linux、*BSD、 Firefox等自由软件;意味着招商银行平等对待了每一位用户、无论是自由软件用户还是专有软件用户;意味着招商银行真的有能力“因您而变”,而不是空 喊口号、欺骗大家;意味着招商银行是一家专业的、有责任感的公司;意味着现有的自由软件用户会继续使用招商银行,而不是转投其他银行,或者因为使用盗版专 有软件而被起诉;意味着招商银行是一家心胸开阔、善于进取、值得信任的公司。

虽然使用ActiveX专有软件技术来提供公众服务是错误的,但我们也能看到招商银行的动机是好的:试图保障用户的帐户安全。在技术方面, ActiveX是微软专有的、过时的、兼容性极差的技术;任何采用ActiveX的网站都是人为地给用户引入一个潜在的入侵通道,为用户埋下了一个地雷。 最近也有很多网友在讨论现有招商银行网上银行的安全隐患,比如:直接采用了某个可公开下载的二进制动态库文件,在发行自己的软件的时候没有做数字签名,这 种低级的技术手段直接导致了用户的电脑可能被植入木马,等等。可是我认为我们根本没有必要讨论现有的技术实现是否安全。为什么呢?因为招商银行解决安全问 题的思路是完全错误的,所以即使是安全的,我们也不能接受。下面我举个例子来说明招商银行解决安全问题的思路对于用户来说是多么的不方便、不友好和荒谬。 招商很行宾馆创始于1999年,一直以来生意还不错,不过最近旅店发生了几起客房被盗的刑事案件,被盗旅客损失惨重,其他的旅客也都认为这是一个很严重的 安全问题,敦促招商很行宾馆立即采取有效的安全措施,保障旅客的生命财产安全。招商很行宾馆的管理层召开了紧急会议,讨论解决之道,想来想去,管理者们一 致认为:“向每个客房派驻一名训练有素的职业保镖是个万全之策!”。于是他们如获至宝,没有查阅国家对于宾馆行业制订的相关管理办法,也没有调查国际知名 的宾馆都是如何解决这类问题的,就决定这么干了。并连夜联系到了城里最有名的保安公司:微硬公司。第二天,微硬公司经过积极努力,为招商很行旅馆调齐了 250名职业保镖,当天下午,招商很行宾馆就将这些保镖安排到了对应的客房,开始上岗服务。晚上,旅客们陆续回到宾馆。当小李和热恋中的女友打开房门的时 候,恍惚感觉房间里有个黑影一闪,进屋一看,沙发上竟然坐着一个彪形大汉,小李脑袋当时嗡地一下,心想:“坏了,今天轮到偷我了,为啥啊?老天太不公平 啦,我是好孩子啊,我还没有结婚,我已经连续一个星期吃素了。。。。。”不过小李的女朋友就没这么好的心里素质了。。。。。

  • 就在这时,这位身着黑西服的大汉站起来,咔嚓,给了小李一个敬礼:“晚上好,李先生,ActiveY号保镖为您服务!”
  • 小李更懵了,“咋回事儿啊?Active什么Y,保什么镖?我家穷的连8环房子的首付都给不起,还能给我雇保镖?不会真这么彪吧!”
  • 不过小李好歹也是个80多斤的年轻小汉,还没有被瞎晕过去,于是就问:“您您是?”
  • 黑衣人立即回答:“我是微硬公司的职业保镖,代号ActiveY,受招商很行宾馆邀请,来保障您的生命财产安全!”
  • 小李这下知道咋回事儿了:“哦,原来是这样。吓死我了!您坐吧!对了,能看看您的证件么?”
  • 黑衣人立刻从沙发上站起来,把身上所有的兜都掏出来,说:“您放心,我们职业保镖是不会动您的东西的!”
  • 小李说:“您误会了,我的意思是我想看看您的工作证!”
  • 黑衣人把所有的兜都塞回去,搭了着脑袋说:“没有!”
  • 小李说:“这不行啊,那我怎么能相信您是保镖啊?这可不行!”
  • 黑衣人说:“你就放心吧,我是来保护你的,不用怀疑,别怕!不能有假,放心!”
  • 小李说:“那不行,走,你跟我去趟前台,问个究竟!”

两人来到了宾馆前台,一问,还真是这回事儿。

  • 小李的心稍微放下点了,不过立即向前台小姐补充到:“你们应该为每一位保镖颁发一个工作证,否则我无法识别这个人是保镖还是强盗!”
  • 宾馆的前台小姐认为这是一个好的建议,心想:“我们咋就没想到呢?”,于是说:“谢谢您的宝贵建议,我们会考虑的!祝您晚安!”。
  • 小李说:“这是一个很严重的安全漏洞,你们应该立即解决这个问题,同时很多旅客都会面临这个问题!”
  • 小姐说:“很抱歉,现在我无法给您准确的承诺,我们一定会尽快处理这个问题。”
  • 小李说:“算了,那我请求将这位保镖同志还给你们,晚上我要和女朋友自己睡”
  • 小姐说:“那可不行,我们最新的服务条款规定,每个房间必须全天候配备保镖,以保障您的安全,这是必须必的。”
  • 小李怒了:“那我要是非不要这个保镖呢?”
  • 小姐也失去了耐心,狠扎了一下鼠标:“那就请您退房吧,这人怎么好赖不知呢!”

都夜里8点了,去哪找宾馆啊!无奈,小李只能带着ActiveY回到了自己的屋里,虽然100个不愿意。俩人回到屋里,ActiveY继续端坐在沙 发上,无语。小李和女友在外跑了一天,也累了,扶起还坐在地上的女友后,一屁股就坐到了床上。只见小李嗷地一声从床上弹起来,手捂着屁股大叫,好疼。 ActiveY马上过来看看怎么了,俯首一看,坏了,一个“Microhard”徽章扎进了小李的屁股,都流血了。小李说:“咋回事儿啊?” ActiveY果断地把徽章拔下,说:“很抱歉,李先生,刚才我在沙发上坐累了,想偷懒,就在您的床上躺了一会儿,不知怎么,我们公司的徽章掉到您的床上 了!咋从我身上掉下来了呢?我们公司的服装都是印度公司外包的,高质量啊,咋会出这种事儿呢?”。小李气的差点晕倒,一怒之下,当晚在自己的博客上公开了 在招商很行宾馆的遭遇。写完博客,都半夜了,小李和女朋友都累了,俩人熄灯脱衣,钻进被窝,睡觉。这时,一只手伸进了俩人的被窝,ActiveY也进来 了。

  • 小李的女朋友杀猪一样叫了一声,喊到:“啊!非礼啊,非礼!”
  • ActiveY赶紧解释:“别,别喊,非什么礼,这是服务,安全服务!这是必须必的。”
  • 此时的小李已经彻底崩溃了,说道:“服务吧,不过您能别睡在我俩中间么?”
  • !@#$%^&*($%^&*((*&^%$#$%^&*(*&^)((^$$#…………………………….

几天之后,旅客们发现招商很行宾馆悄悄地给每个保镖颁发了一个工作证,从此保镖更加理直气壮地躺在旅客的床上。。。。。

如果你和你的女朋友不能接受招商很行宾馆的ActiveY,那么你的电脑也不能接受招商银行的ActiveX,哪怕是以解决安全问题为借口。任何以 提供某种服务为借口强迫的或者偷偷的向计算机安装各类插件的行为都是流氓行为,你的计算机和你的女朋友一样都无法接受这样的流氓行为。我们有必要讨论流氓 行为的安全性吗?所以请像爱护你的女朋友一样,爱护你的计算机,因为它里面包括你的大量隐私,重要数据,这些对你非常重要。别人无权乱“插”你的计算机!

另外,无论是招商很行宾馆,还是招商银行,要想真正赢得用户,让大家热爱你的服务、喜爱你的品牌,一个基本前提就是企业要具备良好的社会责任感。对于我们 这样的发展中国家,普通老百姓实在无力购买昂贵的专有软件,比如微软的Windows操作系统,而自由软件为我们提供了千载难逢的机会,无论对于个人还是 国家。众所周知,经历了24年(1983年-2007年)的艰苦奋斗,自由软件运动早已开花结果,在计算机工业、科学研究、教育、法律等领域都取得了丰硕 的成果,自由软件赋予了每个人运行、学习、修改、再发行软件的自由(请参考我的文章《Richard Stallman和自由软件运动》获 得更多关于自由软件的信息)。现在,使用自由软件可以完成生活、工作中的各类任务,从构建服务器集群到个人计算机桌面,几乎无所不能。所以越来越多的计算 机厂商开始预装GNU/Linux,而不是微软的Windows,越来越多的用户开始选择使用以GNU/Linux、*BSD、Firefox等为代表的 自由软件。这不但显著地降低了成本,还获得了更多的使用计算机的自由度,可是由于开头讲到的技术问题,现在自由软件用户却无法使用招商银行的网上银行服 务。当然招商银行也能找到自己的理由继续不支持自由软件用户,那么这必将促使一部分自由软件用户转移到其他的采用互联网技术标准的网上银行。更严重的是将 迫使很多人走向盗版市场或者妨碍正在饱受盗版专有软件良心拷问的用户转换到自由软件上来,大家的无奈选择必将潜移默化地降低社会总体法律意识和道德水准, 最后都认为用盗版软件是很正常的。所以,如果招商银行继续固执地使用ActiveX等专有软件技术,那么将引导大家甚至整个社会开始依赖某种专有软件技 术,依赖某一家专有软件公司,带领大家进入了某家专有软件公司的圈套,直到有用户由于使用盗版软件被起诉,这是多么的危险啊。

最近在韩国发生了这样的事情, 韩国的很多网站,比如:网络门户、电子商务、游戏、银行,甚至政府的网站都大量采用了ActiveX技术,最近微软就要发布Vista操作系统,结果发生 了什么呢?已经有很多计算机厂商开始预装Vista操作系统,也有大量用户计划升级到Vista系统,可是经过测试,如果用户使用Vista操作系统,那 么将无法正常使用现有的这些网络服务,无法正常访问网上银行,无法正常获取信息,无法正常访问政府的网站,很多事情一下子都无法做了。这是因为微软最新发 布的Vista操作系统与这些ActiveX插件不兼容,导致这些功能全部失效。韩国的几个官方机构已经意识到了这个问题的严重性,同时很多网站正在微软 公司的帮助下解决这个问题。亲爱的朋友,请仔细想想,一家外国的专有软件公司正在帮助一个社会,一个国家来解决关系到日常生活、工作、社会运转的问题,这 意味着大量的用户已经落入了微软的陷阱,这不就是数字殖民吗?所以,我们一定要引以为戒,一定不要在专有软件技术上构建虚假的繁荣,落入他人的圈套。我们 的未来要掌握在自己的手里,而不是微软公司!另外,难道招商银行是微软的代理商吗?正在帮助微软在中国销售Windows吗?否则我实在找不到别的继续固 执使用微软专有软件技术提供开放服务的理由!所以请招商银行能够站在更高的层面来思考和决策自己的技术策略,能够成为一家具有社会责任感的公司,而不是唯 利是图的小贩。我相信这对招商银行来讲不是一个简单的技术问题,更是一个荣誉问题,前途和未来的问题!

说到此,我相信已经有很多用户有过同样的遭遇和看法,并在不同的场合表达过自己的心声。现在,无论你是GNU/Linux用户,比如: gNewSense、Debian、gentoo、ubuntu、SUSE、Mandriva等GNU/Linux发行版用户,还是 FreeBSD/NetBSD/OpenBSD/DragonFlyBSD/Darwin/Mac OS X用户,还是Windows下的饱受IE安全漏洞困扰、喜欢并正在使用Firefox、Mozilla的用户,还是正在被迫使用盗版Windows专有软 件,饱受道德诘难的用户,我强烈呼吁我们能够团结起来,发起一次请求招商银行支持自由软件的公开行动。我们要集合大家的声音,一起大声疾呼,请求招商银行 放弃专有软件,采用开放的、自由的互联网标准实现网上银行服务,平等地对待每一个用户。作为正式的意见收集渠道,请将“你自己的致招商银行的公开信”通过 邮件发到campaign@billxu.com,我将收集、汇总、发布大家的公开信,将大家的公开信正式集合起来,公开到网上, 这是一个动态更新的网页,请大家关注。并将收到的部分邮件打印出来,正式交给招商银行,让招商银行严肃地对待这个问题。在大家公开信的时候,请使用纯文本 格式,不接受任何Microsoft Office Word等专有格式,在自己的公开信里最好包括你的姓名、职业、城市等信息,当然也欢迎更多的信息,以便将来我们一起与招商银行展开正式的线下沟通。如果 你担心有别的影响,也可以用网名或者匿名来发表你的意见。同时,欢迎大家逐字逐句地转载这篇文章,在各个网站、论坛、邮件列表、IRC等展开公开的讨论, 释放自由软件社团的声音。我也欢迎采用传统信件来陈述你的观点,我的邮政地址是:

  • 邮编:100080
  • 地址:北京市 海淀区 北四环西路 58号 理想国际大厦 18层
  • 徐继哲 (收)
  • 电话:139 1051 1732

你的来信将仅在此次公开行动中使用,不会被用作它途,你的邮件地址将会被保密,不会用作它途。同时我发现一些采用互联网标准开发的网上银行能够满足自由软件用户的需求,所以我在这里公开一个支持自由软件的网上银行列表和不支持自由软件的网上银行列表, 供大家选择。这是一个动态更新的列表,比如招商银行开始放弃专有软件,采纳互联网技术标准来开发网上银行服务,能够支持自由软件用户,那么我将把招商银行 从不支持自由软件的银行列表转移到支持自由软件的银行列表,反之亦然。由于我没有太多的银行帐号,所以并不知道所有的已经存在的网上银行服务是否支持自由 软件,如果你有使用经验,那么请发送邮件到www@billxu.com,我会及时更新这个列表。

对于每个人来说,网上银行都是一项重要的服务,所以我们和招商银行都要严肃地看待这个问题。请招商银行能够对此公开行动在招商银行的网站上给出公开的、明 确的、正式的答复,以及具体的时间表。如果招商银行要继续一意孤行、继续不平等地对待每一个用户,那么用户也可以做出自己的选择,毕竟换个银行和换个旅馆 一样方便。在呼吁大家更换到支持自由软件的银行之前,我和所有的自由软件用户期待招商银行的“因您而变”!期待能够和招商银行一起解决这个问题!

“致招商银行的公开信”公开行动接收公开邮件的截止时间是2007年3月14日。现在征集20名自由软件支持者和1名律师自愿者,我们将在2007年3月15日,星期四,这个消费者权益保护日,一起带着大家的观点和打印出来的邮件,与招商银行展开线下的对话,共同解决这个问题!如果你希望能够参加这个线下的对话,请来信www@billxu.com告 诉我,然后我们统一行动。此次公开行动对于每一个自由软件用户、爱好者、支持者来说都意义重大,我们必须指出和改正招商银行这种错误的做法,否则越来越多 的网络服务将重蹈覆辙,落入专有软件的陷阱,开发出越来越多专有的、不标准的、不自由的、自由软件用户无法使用的服务,最终全社都将丧失使用互联网的自由 度。所以请每一位自由软件用户花上30分钟的时间,思考一下这个问题,写出你的观点,发送给我们。我们要一起行动起来!我们要一起公开自己的观点!我们要 让招商银行感受到来自自由软件社团的共振!

最后,我再次呼吁中国自由软件用户、爱好者、支持者能够团结起来,以往在论坛里的抱怨或者长吁短叹根本无法解决问题,我们一定要积极投入到这次公开行动中来,集合我们的声音,集合我们的力量,改变招商银行这一不平等的服务!

注:招商银行没有招我,主要是因为工行做的比较e,相信如果招商银行走出第一步的话,其他银行应该会有所改观的。

驱上了好多东东

努力了半天搞定了本子的几个东西。

指纹识别

以前看到Linux on T60的文章,说fingerprint的软件不是很成熟,所以当时都没有怎么看。今天到thinkwiki上看了看,发现有两个驱动:thinkfingerBioAPI。前者是开源的,而后者是闭源的。我在编译BioAPI的时候,出现错误,所以我用thinkfinger,一切顺利。希望它能早点进入debian的官方源。

现在我可以用thinkfinger和unix两种pam方式,所以在gdm和su登录的时候,会出现两种方式,例如su:

如果想要用指纹的话,可以在系统提示“Password or swipe finger”的时候,扫一下指纹;如果不想用指纹,可以在系统提示“Password or swipe finger”的时候,按一下回车,系统会提示“Password:”,这个时候输入密码就好了。例如:

marvel@mvision:~$ su –
Password or swipe finger:
Password:

指点杆

系统默认指点杆中键和鼠标的中键一样,都是粘贴,这个在看书看网页的时候不太方便。如果内核以前,需要找一个patch,而在内核以后,这个功能需要在X系统中实现。只要修改一下X的配置文件:

Section “InputDevice”
Identifier “Configured Mouse”
Driver “mouse”
Option “CorePointer”
Option “Device” “/dev/input/mice”
Option “Protocol” “ImPS/2”
Option “Emulate3Buttons” “on”
Option “Emulate3TimeOut” “50”
Option “EmulateWheel” “on”
Option “EmulateWheelTimeOut” “200”
Option “EmulateWheelButton” “2”
Option “YAxisMapping” “4 5”
Option “XAxisMapping” “6 7”
Option “ZAxisMapping” “4 5”
EndSection

重启X。

之后可以更改鼠标的灵敏度和速度:

echo -n 140 > /sys/devices/platform/i8042/serio1/serio2/speed
echo -n 250 > /sys/devices/platform/i8042/serio1/serio2/sensitivity
以上的serio1/serio2目录与具体的内核有关:

  • With kernels 2.6.19 and above config files for this driver are located in /sys/devices/platform/i8042/serio1.
  • With kernels 2.6.13 (inclusive) to 2.6.19 (exclusive) config files for this driver are located in /sys/devices/platform/i8042/serio0/serio2.
  • With kernels 2.6.11 (inclusive) to 2.6.13 (exclusive) config files for this driver are located in /sys/devices/platform/i8042/serio0.
  • With kernels 2.6.9 (inclusive) to 2.6.11 (exclusive) config files for this driver are located in /proc/trackpoint.
  • Prior to kernel 2.6.9, configuration was not done through files but through command-line options to the psmouse module. (Note this means you must compile psmouse as a module!)

CPU频率调节

在内核 2.6.10以前,需要加一个patch才可以支持dothan,不过我用的最新的内核2.6.20可以直接支持了。我在acpi中,编译了以下模块:

ac.ko container.ko hotkey.ko processor.ko video.ko battery.ko dock.ko i2c_ec.ko sbs.ko button.ko fan.ko ibm_acpi.ko thermal.ko

acpi-cpufreq.ko

在/etc/modules中添加这些模块即可,重启,选择新内核。

然后,安装 cpufreqd,启动之。安装gnome-applets,在gnome的任务栏中添加CPU Frequecy Scaling Monitor。之后运行:

chmod +s /usr/bin/cpufreq-selector

这样,就可以使用CPU Frequecy Scaling Monitor调节频率了。

tpb

tpb是用于fn键控制的,其实apt-get安装之后就基本上OK了。但是还要记得编译的内核中需要包含nvram的支持,然后把当前的用户加到nvram组中。 这样用户才能读/dev/nvram设备。