星期三, 七月 04, 2007

9年也可以是一生

我的狗10分钟前离开了这个世界。现在爸妈下楼去埋葬它。我不想去。
它今年已经9岁了,各个器官本来也衰弱了很多,尤其是呼吸系统,从小就不好。刚才从我到家来就一直趴在地上只是一口一口地喘气,叫它不应,摸它也不理。我以为打开空调会好,因为它是京巴,毛很长,夏天最难过,有的时候空调是专门为它开的。
再有7个月它就10岁了,我本来很高兴的。买它的时候是5月份,卖狗的人说它已经3个月大了,所以我决定它的生日是1998年2月14号。
冥冥中感觉它是在等我回来,我也是比平时早回来很多。我一直就很喜欢它,虽然行动总是很笨,但很聪明,看到它耍小聪明我总是想笑。
难过的是,其实我已经很久没有陪着它干些什么了。9年了。在它刚来到我家的时候,我还上中学,除了上学以外,也没人指望我去干什么。它是我的玩伴,我复习到深夜的时候,它会半睡半醒着晃晃悠悠地溜达到我的屋里,趴在台灯照不到的地方,打起均匀的小呼噜。没事的时候我喜欢把书包掏空,把它放进去然后整个放在车筐里面骑车去玩。喜欢看着它的小耳朵被迎面的风吹起来,看着它好奇地东张西望,鼻子不停地在嗅。虽然每天在楼下放它的时候它总是希望能走远一些,不过每次带它出去玩的时候它却总是寸步不离我身边。最远的一次带着它去过东丽二号桥。还有一次月圆的时候去过附近的靶山,在山顶上把它从书包里放出来,抱在怀里,感受着深秋的不带一丝感情的风。
也许因为这些经历,我每次替换下来的书包它都要去霸占起来,让上面布满了它细细的白色的毛。
无忧无虑的日子就这么完了。我考进了大学,开始一周回家一次。我估计它刚开始感觉很奇怪,不知道为什么现在一个星期才能看到我,所以每次回家的时候它都会缠着我。而我,已经逐渐把注意力放在计算机上,开始希望自己能像传说里的人们一样。每当周末我坐在计算机前面废寝忘食的时候,我不会想到它正失望地等在一边,因为我的忽视。每当它扶着我的左腿站起来想和我玩的时候,我总是敷衍地找给它找一些玩具远远地丢掉,即使陪它玩一会儿也不会太久,尽管我知道我曾经那么高兴地和它一起玩。
然后我工作了,甚至还不如上学。每天下班回家的时候爸妈都已经放完了它,我也乐得"节省"了这点时间。和上学相比,相同的一点是我看上去还是那么忙,不同的是上学的时候是为了自己的理想忙碌着,工作的时候,越来越感觉自己是被社会被责任抽着不得不忙碌。
每次当爸妈有事不在家的时候,我都会想,嗯,还不错,还有它在一旁,虽然我仍然不会陪它玩一会儿。以后没有它在,我就是独自一个人了。
前几天因为姥姥的丧事,有3天的时间家里基本没有人在。我很难想象它是怎么孤独地度过的,更没法想到它生命的最后几天也要这么孤独地度过。自从它开始变老,经常会在我们都离开家的时候凄惨地叫。我之所以知道,是因为它的视力随着它年龄的增长逐渐地下降了。晚上放它出去玩的时候,它经常会因为找不到我而焦急,匆忙地查看身边的每一个人,努力地扬起小小的脑袋想看清楚这到底是谁。正是因为这样的视力,有时即使我在家,它也会以为周围没有人在而凄惨地叫,每次我都会走过去安慰它,因为那叫声听着实在让人伤心。但也仅此而已,我还是不会因为这个就放下什么去陪它玩一会儿。然后它还是沉默,趴在地上,眼睛大大地睁着。
看着它越来越老,我也明白终究有一天会失去它,只是没想到会这么突然。这种日子无论错后多少天,或者提前多少天,终究还是会让人觉得突然。
失去的东西总是宝贵的。家里还养过的其他几只狗,十几年了一直都在养。它应该是我家最后一只狗了,也是占据这十几年时间最长的一只,以后不打算再养了。
写了很久了,时间已经不是开头的"10分钟前",它是晚7点20离开我的,2007年7月3日。曾经有本书说3和7是我的幸运数字。
打字总是跟不上回忆。
每天上班出门前,我都会摸摸它的小脑袋,然后再抓起电动车的电池开门下楼,从明天开始,不会再有这么一只毛茸茸的小狗等在门前了。
每天下班回家时,它都会从里屋迎出来,看清是我后高兴地摇着尾巴和我一起进屋,也是从明天开始,不会再有这么一只聪明的小狗从里屋的门后伸出小脑袋看着我了。

爸妈把它葬在河边的草丛里。那是它曾经玩得最高兴的地方,也是我一直懒得每天都带它过去的地方。

星期四, 五月 24, 2007

Guess what?

不拽英语了,一是被人骂,二是更没多少人看了:(
这日子真是充实。一边满手都是活一边叫闲,结果2天后马上就被征用,这个任务差不多是要去把一堆C++代码__翻译__成Java的,牛的是两边的代码——C++这边需要看懂的和Java这边需要改的——我都是从来就没看过:|
昨天在VS.Net 2003里看了半天,比较郁闷,我印象里用的很顺手的拿来弄过不少Win32和C#小玩意儿的VS.Net 2003怎么变得这么难用啊。话说冤有头债有主,于是我把罪魁归为破烂Citrix。实在受不了这种虐待,今天去装了VC++ 2005 Express,看了下授权,muhaha,还算厚道,不限制商业用途。打开老VC6的workspace文件,等待intellisense吃了一会儿CPU,哇靠,整个表现真快赶上eclipse JDT了啊,处理C++能处理成这个样子已经太不错了,很多变态的完全是用宏定义出来的类竟然都加到class view里面了,太激动了,估计是预编译过,不足之处是一些更变态的用宏搞出来的方法还是看不到。读着读着眼前的代码,真有点看动态语言代码的感觉,手边还得配个笔记本,把一些变态的宏记一下,天,C++组的那些同事此时在我眼里是又可怜又可敬。看来我以前编的C++程序简直太善良了,看上去都很像Java代码。我从来就不想定义宏,己所不欲勿施于人嘛。原先看过一个C++教育的系列小故事,忘了什么名字了,其中一段是某个项目组里有一个人曾经#define private public……真不知道现在的编译器让不让这么干。不管怎么说,今天看到的宏和typedef都是数以十计的,还不包括一些宏的宏和typedef的typedef,也不包括一些宏的宏的宏以及typedef的typedef的typedef,以此类推。好在VC++2005有个Code Definition Window,简直太有用了,很像eclipse下的Declaration这个View,虽然后者我一直没有view过几view。
工欲善其事,必先利其器。今天OT的2个小时,成果直逼昨天下午近4个小时。Citrix还真是烂的不行,好好的VS.Net 2003都被它搞的像记事本一样,印象最深的是我用手轻拂了一下鼠标滚轮,然后VS.Net的代码编辑器像放幻灯片一样几行几行的向下蠕动。
副作用是在Java和C++、eclipse和VC++2005里频繁切换导致我快要人格分裂。看到int*当参数传进去然后还被改了值就别扭,刚刚适应*、&就觉得immutable的Integer简直就是浪费内存;在eclipse里该按F3的地方按了F12,在VC++2005里该按F12的地方按了F3,被带到下一个查找结果之后还傻啦吧唧地惊讶为什么Alt+←回不去了……老老实实的编辑了一会儿键盘方案,把常用的快捷键改成了eclipse里的设置。希望明天顺利,因为会有牛人来给我讲解这些用C++变的戏法的来龙去脉,省得我翻译出错,或者翻得貌合神离。
前几天还面试了一个应聘来的牛人,头顶两所西洋名牌学校的x士头衔。我就是这么命苦,一共就面试过两个人,每次都是一看简历先把我吓了个七荤八素的,反倒怕自己在人家面前丢公司的人。事实证明,是骡子是马还是驴都要拉出来溜达溜达,只看那一纸如雷贯耳的技能和经历的话,我都奇怪为什么中国的IT反倒被外国殖了民,为什么每个流行语言的关键字什么的都是ANSI ASCII字符组成的,为什么中文字符算"宽"字符——我还嫌洋文窄呢。说回面试。我不太习惯像考试一样问对方问题,一来本身晚生几年,碰上的又都是各路前辈,哪好意思摆出洋律师的职业形象审问人家;二来没什么意思,你问我答,很难有发挥的余地,我自己也反感被这么面试,那还不如再笔试一轮了。我比较喜欢和对方谈论他做的项目,尤其是他最得意的项目,因为只有下了心血最后才会得意,也最能体现这个人的水平。老招数了,无数人已经都提过了,不过还是要注意,是*讨论*,别有意无意地仗着自己早进公司又摆出面试官的脸孔了。
其实吧,it depends。这次面试之后,HR问起我和另外一个一起面试官的感觉,我们都说,太有压力了,这种在有中国特色国情的环境下出口转内销的人,就是不一样啊………
Guess what,忽然有点断片的感觉。还是不装了,总感觉写这种经历应该是到了能够倚老卖老的年龄才该干的事情,我还是洗洗睡吧。

星期五, 五月 11, 2007

三句半

VPC乌龟Server,
Windows王八Explorer,
你说微软能做啥?
Moth**f**ker。

星期日, 四月 22, 2007

Bravo, Kaiyuan Wang

It was quite a piece of shocking news produced by Kaiyuan Wang, a fully dedicated Open Source, um, should I say, evangelist. There's no need for me to repeat what has happened. All I have to say is that, I AM ON HIS SIDE. I've never ever imagined that someday I can see such a brave Chinese, although in foreign countries there are a lot of such people who dare to even sacrifice for their undertaking. It's too hard to realize one's dream here.
Unfortunately, many Chinese people on the network have misunderstood his sincere and passionate activity to some kinds of show up. Well, I might have to understand their suspiciousness, because they have been cheated heavily, especially on the network and other medias. However, if one has read the news carefully enough, there should not have been such doubt and suspicions. Was Wang making a show for his employer, LPI, which is a non-profit organization giving Linux certifications? If he did make a show, he was making a show for the Open Source community, which is almost unknown in this giant country.
I saw many comments around doubting and even reviling Wang, and as usual, all of the comments have well reflected the ignorance of their poor authors, the ignorance about free software and Open Source. They even do not spend a little of their shitty life on researching for what on earth is free software and what the hell is Open Source, to add some knowledge to their m*****f***ing brain.
Forgive my rudeness towards such people.
For videos, see http://v.blog.sina.com.cn/b/2207514-1193866854.html and http://v.blog.sina.com.cn/b/2219402-1271664693.html

星期五, 四月 13, 2007

Paraskavedekatriaphobia

I suppose you all have adverted. It's another Friday at a 13th date.
The fear of Friday the 13th is called paraskavedekatriaphobia or paraskevidekatriaphobia, a specialized form of triskaidekaphobia, a phobia (fear) of the number thirteen.

-- From CrystalLinks
However, I'm not a patient with such a disease:)

星期一, 四月 09, 2007

Start the Eclipse TPTP Profiling Agent under the Standalone Mode in a Linux Box

I did this long ago. Since I'm not required to do it repeatedly, it took me another 15 minutes to get warmed up. This time I'm recording the procedures here as a preparation for tomorrow's exploration on why the hell that tomcat instance was taking so long to start up.
  1. JVM arguments: -XrunpiAgent:server=standalone,file=/home/iusr/tc.trcxml,profile=/home/iusr/piAgent.options,filters=/home/iusr/piAgent.filters. It's convenient to export all this twittering to JAVA_OPTS which is used by tomcat to pass to JVM;
  2. Adjust the LD_LIBRARY_PATH environment variable to include directory "<eclipse_install_or_ext_point>/plugins/org.eclipse.hyades.execution.<OS>.<CPU_ARCH>_<VERSION>", e.g., in my Edgy box it's "/usr/local/eclipse-extension/eclipse.org/tptp/eclipse/plugins/org.eclipse.hyades.execution.linux.x86_4.2.2.v200701141614";
  3. Compose the profile configuration, filters configuration. Refer to http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.tptp.platform.doc.user/ref/rsaproffilt.htm and http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.tptp.platform.doc.user/tasks/teprofsa.htm for the proper format.
  4. Run the java class, of course:)
A profile configuration consists several entries, here's an example ("^\*.*$" lines stand for comments):
* all | none
MONITOR_MODE = all
* true | false
FILTERS = true
* none | deletes | frees | moves | deletesAndMoves | movesAndFrees
TRACK_GC_EVENT_TYPES = movesAndFrees
* static | relocatable | staticAndRelocatable
ID_STYLE = staticAndRelocatable
* true | false
* OPTIONS = false
TIMESTAMPS = true
METHOD_COUNTS = true
OBJ_ALLOC_IS_ARRAY = true
* none | normal | boundary | contiguous | boundaryAndContiguous
STACK_INFORMATION = contiguous
* true | false
* TICKET = true
* full | none | noObjectCorrelation
TRACE_MODE = full
* true | false
* TRACE_ID_REFS = true
Apparently this configuration requires much work to do, so my CPU got 99% utilized just now:P.
The filters configuration is more straightforward, only a wildcard string indicating the desired packages or classes, another wildcard string indicating the methods, and a directive indicating the whether matching packages or classes are to be included or excluded. Here's an example:
package = com.*
method = *
mode = INCLUDE
Since some subtle differences amongst different Linux distros and versions, the configuration above varies. I once saw a web page saying it's necessary to add the directory "<eclipse_install_or_ext_point>/plugins/org.eclipse.hyades.execution.<OS>.<CPU_ARCH>_<VERSION>" not only to LD_LIBRARY_PATH but also to PATH. I haven't tried this out yet, since adding it to LD_LIBRARY_PATH works every time and appears to be more reasonable. Particularly, if the piAgent failed to get loaded or started, take a look at the output of `ldd <eclipse_install_or_ext_point>/plugins/org.eclipse.hyades.execution.<OS>.<CPU_ARCH>_<VERSION>/libpiAgent.so` to check out if there's anything dependent missing.
Whoa, I cannot help starting the agent on our main testing machine to find out what the hell contributed to the latencies.

星期五, 四月 06, 2007

Catch ya~

Well, I don't know how to describe the feeling when I pick someone up by recognizing his/her blog, after losing his/her track for some years.
Here, this is the guy I'm talking about . Oddly as usual, I even have not contacted him before by any means:D
What I know about him are some legendary stories, and an always empty seat that would be his if he wouldn't have been absent at a student's community I joined. After some months, I took his seat, but I know I'm a much lesser stead, because, you know, I can never have legendary stories:D
I'm always fond of tracking talent people around. It's always encouraging to know how distant I am from the talents.

星期二, 四月 03, 2007

Need a real portable browser? K-Melon to the rescue!

I'd never imagined that one day I would be working in a very much limited environment, and thus applications like Portable Firefox which tend to be as much __green__ as possible had never got my attention. But nowadays, I've completely changed my attitude towards such applications.
Accessing windows registry? Forbidden. Configuring system services? Forbidden. Mapping network drivers other than the ones specified by the almighty administrator(s)? Forbidden. Installing an ActiveX plugin such as Adobe Flash Player to the poor naked IE? Forbidden, of course. Although I've always had enough with those bursting flash objects in web pages, being expropriated the chance to selectively enjoy good flash objects is very unpleasant. Right, just unpleasant, and it can never be frustrating, muhaha!
Time comes to introduce a very old friend of mine that for long I've even forgotten its existence: the tiny browser named K-Melon. It's really a very old friend of mine, no kidding. It was my first alternative choice of browsers when I was a really newbie using Windows 98 SE. By using K-Melon, I gradually got to know firebird, the bird which today has mutated to an animal called firefox, and some other browsers sharing the same Gecko rendering kernel. I admit it was not very attractive at that time, with an ugly UI, lacking enough extension and plugins; you'll have to forgive my nearsightedness, because browsers other than IE didn't have an easy life to deal with at that time, and neither were their users that had chosen them as their primary or even secondary browser. So gradually it disappeared from my hard drive.
Till just now:)
As what I mentioned above, I'm currently working in a very limited environment and I even cannot install a flash player plugin to the IE I'm using. Moreover, I cannot install any other applications since I don't have the mythical permissions of accessing both registry and some file systems. What's more, even Portable Firefox cannot start due to some failures in the underlying XPCOM layer. Cool...
For God's sake, K-Melon is working very well even under such circumstances, the only problem was that all flash player installation programs I grabbed from adobe.com couldn't run properly, mentioning me that I was not the almighty administrator whom I think I can never be. Nevertheless, it's not even a competent problem for someone who has a rough understanding about the Mozilla family browsers: copy what you have in $MOZILLA_OR_FIREFOX_OR_WHATEVER/plugins/ that have something to do with flash to the same named directory in the K-Melon installation directory, and restart your running K-Melon if there's any. Then navigate to wherever a flash object dwells, whoa, I have my beloved flash now:)
It's still mysterious why firefox and Portable Firefox failed on the system, they should have followed well the Unix philosophy, or am I just putting too much burden on them?:) Never mind, I'd never thought that those Flash objects hungering for CPU and memory could some day be so genial as well after several days of parting.

星期二, 三月 20, 2007

Linked List Patented?!?!

Not quite sure about this, but from a recent clue posted on slashdot, this insane patent is probably true. And some comments on slashdot points out it's triply linked list that got patented, not our good old linked list or doubly linked list. Nevertheless, it's still not that difficult to make varieties of existing data structures and/or algorithms and register a patent for it.
Whoa, I'd better go back to my algorithm books and make a summary of remaining patent-able data structures and/or algorithms. Oops, first of all, I need a companion with a US nationality. Who's interested?
I see in your eyes, the same scorn that would take the heart of me.
All mighty US patent agencies! Haven't they realized most computer stuff originate from the US, and with their fingers they can probably affect this fragile industry?

星期一, 三月 19, 2007

Buzz Fuzz

It's a damn cold night. The drizzle today just drove me back to the winter while I'm wearing thinner clothes. There always seems to be only 2 seasons here: the summer and the winter. Spring is the lesser winter, and fall, too.
Well, I've been absent from blogging for quite some days, just like once I was absent from so many lessons. The only difference is I got a lot while I was absent from university lessons, and I lost a lot while I was absent from blogging, not only the pleasure and the habit, but also the passion of blogging, maybe the passion of life itself.
Nevertheless, I'm delighted to see the title "Buzz Fuzz" is not an invention of mine, since I just decided to put the 2 amusing words side by side for fun.
The only pleasing achievement is I'm now very accustomed to living on Ubuntu Linux, the most friendly Linux distro to the green hands of mine. Look at me, I have really green hands even that I've been using Linux for 5 years around. Of course this is reasonable, and amongst all the reasons the most challenging one is the communication with the Windows people. However, I'm neglecting these problems and won't care about those people anymore. Fuck off the M$ stuff. I'm sticking to Ubuntu.
I'm lost...
Black cursors are better than white ones. Very sparkling.
And beryl is really really amazingly cool. You can count on it. Not only a magnificent desktop amusement, but also a very productive tool making the desktop utilized, if it's used properly. No bother comes with the key shortcuts.
Some hours later, I'm going back to that snail-slow stuff. Fuck that.

星期三, 三月 14, 2007

Testing Email Publishing

May this help make blogging a little bit easier...