走了

每年到这个时候总是会有一些伤感的,我不知道是该说“去了”还是“来了”,我甚至不知道我是准备离家还是回家,所以只能用“走了”这个更加中性一点的词。明天就要到上海了,后天登上北上的火车。列车的终点站是哈尔滨,但是我的终点站是哪里呢? 总想写点东西,但是每当开始准备动笔的生活,却又不想写了。 回来一个多月了,见到了一些朋友。聊天时问起同学的情况,有的出国,有的读博,更多的是在各地工作。以前大家都在一个教室里面读书,现在却在天南海北,做着各不相同的事情。 很多要好的朋友都已经工作了。看着他们,我有时候会感到一种失落。人家已经在为自己的事业和家庭打拼了,而我还在这里,这样的生活不知道什么时候是尽头。 我已经告诉自己很多次,回忆是那些没有能力做事的人唯一剩下的东西,所以,如果你对明天还有憧憬,就不应该常常去回忆以往的时光。但是,回到家里,面对斯人斯景,却不由我不去追忆埋在内心深处的一些场景。 我问自己,你真的放下了吗?我说,我放下了。我又问,那为什么没有约她呢……我无语,我想,我真的是放下了。但是放下了不等于不存在,可以忘记一种感觉,但是无法忘记一幅画面。妈妈说,她已经不再孤单了。我默然,除了祝福,又能做什么呢? 和初中同学K歌,很久之前那种感觉突然出现了,无拘无束的那种。那些歌,还有那些人,都是老朋友,有人高了,有人化妆了,但是我心中的那种感觉一直没有变,就像中考结束后的那场狂欢一样。我最希望来的人却没有来,我想理由可能是推辞,也可能是实情,whatever。 有时候会想,如果那次高考,我没有烧错那根该死的绳子,生活又会如何呢?我会进入另一个圈子,做着完全不同的事情,生活也会变得不同。可这不是说Life is not made of IFs吗,既然选择了,如何能否重来呢? 毕竟我没有hero中的那个日本小胖让时间倒转的能力。 今后三天又是很惨的三天,和中国铁路在一起的日子我实在是受够了。但是有时候你还是要笑面相迎,这就是生活。 写到这里吧,夜深了,该睡了

三生石

晚上又遇到nite了,这家伙看来最近老是在网上。真不知道该叫他什么好,这么多id……聊了一会儿,他特意给我摘了他blog上很久以前的一些文章,写的很不错。可惜我是不会去看我写过的东西,技术的除外。很多东西都很伤感,不适合现在看。也许,以后当我老得什么都不能做了,就开始翻以前的日记写回忆录。以前经常回忆过去的日子,觉得初中的那段时光真好,多么想再来一遍。直到最近我才明白,人是不能总活在回忆中,过去再美好,那也已经是过去。如果一个人只能回忆,那就说明他已经没有能力去做同样的事情了,老人们不是最喜欢干这样的事情吗。 nite 说看了精华区里面我的那篇文章,很久以前的事情了。那时我还把bbs当作一个能够表达自己情感的地方。写那篇文章的情景,现在依然很清晰的浮现在我的脑海中。2.14的凌晨,写完,睡觉,醒来之后发现十大,以后就没有关心了。直到若干年之后,我当上了那个版的版主,某一天蓦然发现它竟然被m上了,静静的留在了版面。感谢当时的版主,能够保留我的随心之作,能够让我重读当时的那份失落和感慨。记得我在一个不眠之夜写下了几句,人世间,相遇是缘,相知是缘,相守是分。我悟到的缘分便是如此。缘是前世修来的因,佛说前世的五百次回眸,才换来今生的擦肩而过。缘是前世注定的,遇到谁认识谁,并不是我决定的。而分却是今生的努力的果,缘是我不能改变的,分却是可以争取的。我开始相信爱要努力这句话,开始努力,之后开始动摇,最后我才知道,人们只习惯于说半句,其实整句话应该是,爱需要努力,但是不是所有的爱都能努力的。 大家说的一见钟情,是不是三生之盟?如果一对男女今生不能在一起,佛会不会让他们在下个轮回的开始就爱上彼此?如果一个男孩喜欢上一个女孩,会不会因为上辈子他爱她不够,以致下辈子还要非她不娶?或是他上辈子欠她了,一定要在下辈子还? 看过一个小说,很感动,一个女孩对一个男孩一见钟情,为了看他一眼,修炼了五百年,看完之后又想看一眼,忍痛又修炼了五百年,当这个愿望满足之后,佛问她,还想再看他吗?她微笑说,我能做到,但不用了。佛叹了口气,说还有个男孩可以少等一千年了,他为了能够看你一眼,已经修炼了两千年… 我不明白,为什么佛不能成为月老呢,难道得到一份属于两个人的感觉真的需要几个轮回吗?

valentine’s day

看到一个Urban Word of the Day上的一个解释,很寒: valentine’s day: The reason so many people are born in October. I was born on October first because my parents celebrated valentine’s day.

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 … Continue reading

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

致招商银行的公开信 作者:徐继哲 大概在一年以前,我有了写这篇文章的想法,由于诸多事情,一拖再拖。最近,终于下决心要完成这封公开信。可我却用了三周的业余时间才完成这个短小的文章, 这和我以前的写作经历相比,简直是蜗牛的速度。为什么这么艰难呢?因为在这篇文章里,我试图和大家讨论一个很多人被迫接受的、不合理的、甚至已经习以为常 的事实,并期望和大家一起努力来改变这个事实。 多年以来,我一直都是招商银行的用户,同时也一直在忍受招商银行不平等的网上银行服务。无论是什么网络服务,都要遵循互联网的行业标准和技术标准, 这是大家都知道的基本道理。可是不知为何,招商银行的网上银行服务却没有遵守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环房子的首付都给不起,还能给我雇保镖?不会真这么彪吧!” … Continue reading

驱上了好多东东

努力了半天搞定了本子的几个东西。 指纹识别 以前看到Linux on T60的文章,说fingerprint的软件不是很成熟,所以当时都没有怎么看。今天到thinkwiki上看了看,发现有两个驱动:thinkfinger和BioAPI。前者是开源的,而后者是闭源的。我在编译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 … Continue reading

试用mono( 三)新建Web应用篇

今天我介绍mono的三个部分:ASP.Net项目。Mono上的ASP.Net Web应用可以有两种方式运行,第一种是apache+mono module的方式,第二种是xsp standalone的方式。我用的是第二种,xsp是一个用C#写的简单(或者说轻量级>也可)的web服务器,用于运行ASP.NET 1.1和2.0的程序。 在的mono版本已经完全实现了ASP.NET的所有功能,也就是说,你在windows下写的ASP.NET程序在linux下的mono下也可以运行。当然这里的“linux”只不过是强调一下,作为一个轻>量级的C# Server,xsp也可以在windows下运行的。 我们开始吧,首先选择File -> New Project… -> C# -> ASP.NET -> Web Application。这样,mono会生成一个简单的ASP.NET程序,Default页面中带有一个TextBox和一个Button>。我们进行扩展一下。 左面的Solution工具栏中双击Default.aspx,这时出现Default.aspx的前端代码。我们添加一个Label,同时把页面修改一下,加一些标题和分割符。如下: Default This is an ASP.Net Web application test on mono Solution工具栏中双击Default.aspx里面的Inherits Default in Default.aspx.cs,这>时出现了Default.aspx的后端处理代码,我们添加一个控件Label,并修改一下事件代码: using System;using … Continue reading

建议被zf采纳了

前几天去打球,绕了整个镇活活没有找到打球的地方,郁闷死了。回来的时候就在路上想,去找市长电话,如果没有或者用不了的话,就把那个gov的网站给黑了,贴一封建议信上去。现在想起来冲动真是魔鬼啊。还好,真的能找到市长信箱,而且是一个web提交系统,做得还不错。于是写了一份建议。今天收到回复了: On 2/5/07, 市长电话  wrote: 先生你好,首先感谢你对家乡的关心,告诉你好消息,你的建议已列入今年市人代会政府工作报告07年实事工程之一。到时将有秩开放梧桐市区公共体育设施,让广大市民享受。 不知道咱们工大的校长信箱什么时候那么灵就好了,呵呵

char*和char[]

一直就认为C中的char*和char几乎是一样的,要是说区别,那就是char[]在声明之后,地址值是只读的,而char*的值是可变的。 不过今天看到两个程序: A: char* get_str(void){char str[] = {“abcdefghijk”};return str;}int main(int argc, char* argv[]){char* p = get_str();printf(“%sn”,p);return 0;} B: char* get_str(void){char *str = {“abcdefghijk”};return str;}int main(int argc, char* argv[]){char* p = get_str();printf(“%sn”,p);return 0;} 理论上,两个程序好像都不可以,因为都是返回一个局部变量。可结果是,第一个有warning,运行的确什么都没有打印出来;而第二个一切正常,能打印出字母来。这是为什么呢?我的gcc版本是 version 4.1.2 … Continue reading

试用mono(二)新建GUI项目篇

上次介绍了如何导入一个现有的VS .Net项目并运行,这次我们来看看mono如何创建一个新的项目。 首先在mono的welcome界面中点击Start a New Project,这时会出现下面的界面。其中,Console Project是新建一个C#的控制台项目;Empty Project是创建一个空的项目,没有任何文件;Library是新建一个库项目。在C#的子项ASP.NET中,还有一个Web Application,这个可以新建一个ASP.Net 的项目。以上四项与VS .Net中都是对应的。不过,在这里大家会发现会有一个Gtk# 2.0,这个是什么东东呢?到官方完站上看了一下,这个部分下次再介绍。 选择新建一个Cosnole Project,系统自动创建一个项目。项目中除了用于设定生成的有关程序集的常规信息参数必需的AssemblyInfo.cs文件之外,还有一个文件Main.cs,这是项目的主体。mono自动生成了一个Hello World的示例: 右击Solution工具栏中的项目,出现Add菜单,里面有New Dialog,New Window,New Widget和New Action Group。这点很有意思,在VS .Net中,Console项目是不能创建GUI的,至于那些Drawing命名空间则完全屏蔽了。而在mono中可以自由地创建GUI控件。本来想再写一个GUI篇,看来没有必要了,写在一起就好了。 我们选择新建一个窗口,此时会出现一个窗口如下: 这里有一个GTK# Window,还有一个Window。其实本质上它俩都是基于GTK#的window控件。GTK# Window是基于GTK#的控件,GTK#是gtk+的.Net绑定集,可以用它来编写生成gtk的原生程序。GTK#的文档可以从官方得到,而window则是gtk+中的控件,它与Visual C# .Net的window不是一个东西了。 如果新建一个GTK# Window,那么自动生成的代码是: using System;using Gtk;using GtkSharp; namespace … Continue reading