不知不觉中到葡国已经一个月了,时间过得太快啦!
那天还在公交车上和George谈论“how time flies”这个问题,哎,他快要回罗马尼亚了~~说实话,真舍不得让这伙计走,他是个很好的人,又恰巧和我一样是大学刚毕业(人家大学本科读5年,9月才毕业,回去就基本上算是毕业了),所以和他有很多话题。希望他以后能到University of Coimbra来读研究生,这样我们又能见面啦!
-------
前几天换公寓了,搬到一个山头上去了,我承认,那里景色很美,但是在那里坐公交车上班很麻烦。和我同住的两个同事人家都有自己的车,不过作息时间不一样,不能赶到一起上下班(所以你也可以看出Critical的工作时间有多宽松)。而且暂时还没有无线网络,需要给房东说。最关键的是,不像以前免费了,需要自己交房租,水电费等,哎~~不过还好,相对于其它的房子这个很便宜了。
-------
我有个大的发现,lady是个无敌的词。在商店里,你可以说某个女售货员是lady;在银行里,你也可以说哪个女接待是lady;在公寓里,你还可以说房东是the lady,说打扫房子的女清洁工为the cleaning lady。不知道我们公司的Fatima能不能被称为“Our Lady of Fatima”?;-)
-------
有件比较囧的事是,我的名字被同事们普遍念作“wang kong”……我宁愿他们像George那样直接叫我wang。我想原因很简单吧,“c”在英语里都读作/k/或者/s/,而在葡语里基本上就是/k/了,所以估计他们都不会念咱们拼音中的/c/这个音……就像我,很多葡萄牙人的名字我都读不通……期待着去大学里找个葡语课学学,也省得周末没啥事干~~
-------
昨天又是公司的Beer Lifting和聚餐,又赶到了一起,果真一个月了。这次我们去的是一家意大利餐馆,而且还在某个山头上,老远,搭同事的车过去,路上拐了不下20个弯……头一次吃意大利菜,很好吃,除了感觉牛肉有点儿不熟,甜点很美。这次晚上又是吃到很晚,我回到公寓都一点多了……巨困,躺到床上就睡着了。
很期待公司两周以后的划船比赛,噢,伟大,万能,无敌的Mondego~~!
期待着下个月去Sintra的Cabo da Roca!

Figueira da Foz是个很美的海边小镇,也是离Coimbra最近的海边,坐火车一个小时就到(这种火车基本上相当于北京的地铁,每个小站都停)。Coimbra的人们夏天经常去那里度假,因为那里有个很大很大很大的海滩。
上周周末我们几个人一起去了那里,在去之前我正好买了一个数码相机,佳能A720is。于是乎我猛拍了不少照片,都放在>这里<了。
去海滩之前我们在路上拍了Figueira的不少其它景色,也很漂亮。路上还发现一个“集市”,有很多卖东西的,George买了一些纪念品,准备带回国送朋友;我买了一顶帽子,上面写着“Figueira da Foz”,感觉很酷。8-)
那里那个沙滩超级大,走不到头。去的那天海边正好风大,结果我和George尝到了真正的“沙尘暴”的滋味,弄得浑身上下全是沙……后来我们找到一个避风的地方,晒了个日光浴,回来发现我被晒黑了……本来想坐晚上8点多的火车回去,结果George建议说看日落,只能坐晚上10点半的火车回去了。不过那的日落确实很美,等了那么久没白等,日落的照片也在上面那个相册里。结果,那天晚上回到公寓已经夜里12点多了……
总之,如果你来葡萄牙,千万别错过Figueira da Foz!

上周五是Coimbra的纪念日,全城放假,我和George一起去市中心看了一场极具葡萄牙特色的活动。
下午4点多的时候,我们先去了Mondego河边的公园,那里都已经搭好舞台了,但是等了几分钟还是没看到有开始的迹象,于是我们去决定去市中心的广场去看看。结果在路上正好遇到表演的队伍向公园挺进。刚看到时很是吃惊,人们穿着各种各样的古装,打扮成各种阶层的人,边走边唱,时而还击掌来伴奏,很有气氛,如果你像我一样站到旁边看的话,你可能也会情不自禁地跟着它们一起击掌。
我仔细观察了一下,整个队伍分成一个个的小组,不同的组应该是来自Coimbra的不同的小镇,它们都有自己的旗帜或标识,由最前面的小孩举着。小孩们都很可爱,也是打扮成各种各样,有的拿着布娃娃,有的还提着花篮。小孩后面是妇女和成年男子,有年轻的也有年长的。女的头上多顶着各种蔬菜和食物,大概她们劳动时就是这样吧!男的多打扮成绅士或者农夫,和旁边的女的成对出现,因为他们是舞伴。每组中都有一些吹拉弹唱的人,可以看到各种各样的乐器。
等到整个队伍都到了公园里的舞台后,演出就开始了。舞台下面有一些椅子,不过都是给老年人或者带小孩的人坐的,像我们这种年轻人只能站着看,人们都很自觉。表演刚开始时还不时地从空中飞过一些前来助兴的飞机,结果很多人都被吸引了过去,飞机飞过后然后再回来,然后再过去……说说表演。表演是一个镇一个镇的上,上去时先在台上转一圈,边走边唱,同时把手里拿的或者头上顶的东西全都放到边上,让孩子们坐到边上看,大人们开始表演。表演开始前都会自我介绍自己的小镇,可我除了Mondego和Obrigado啥都听不懂……正式表演都是唱歌和舞蹈,主唱的一般是后面的几个中年妇女,她们站那里专门唱歌,而且声音很是洪亮。吹拉弹唱的站在她们旁边伴奏。最前面的是跳舞的,都是一男一女搭配,他们也会跟着唱歌。看他们跳舞很有意思,时而成对,时而转圈,最让我觉得有意思的是一种男女交叉着走的舞蹈。他们唱的歌词虽然我都听不懂,不过光是听音乐,也能感觉到浓厚的葡萄牙气息。给我印象最深刻的是一首边击掌边唱的歌,听着很带劲,感觉很好听。还好George录了这首歌,所以我还可以回顾回顾。
到了晚上,在市中心还可以看到各种彩灯,整个街都被装点得很美。路边还有一个很大的彩灯,样子像是一个女神,据说这里的人们都相信Coimbra的美好生活是拜她所赐。
静静的Mondego河上倒映着这个城市的夜景,在夜色下,它也是那么迷人……
(P.S. 浏览更多照片请猛击这里。 P.P.S. 当时看到一个超级可爱的小美女!相册里有!)
这两天对我的Linux进行了大的改造。
先是花了一个晚上的时间从Fedora 8升级到了Fedora 9。通过网络升级Fedora有两种方式:一种是通过preupgrade,另一种是直接用yum(关于两种升级方式可以参考:preupgrade,yum)。我采用了后者,升级过程中遇到了包依赖的错误,解决方法很简单,哪个包缺少依赖的东西就把那个包给删除,升级完再重新安装,然后就是要使劲地yum clean all。
升级完最让我眼前一亮的是登录界面和Firefox 3,感觉很漂亮。升级后mplayer会出现错误,解决方法是:这个。还有一个头疼的问题是gcc 4.3,一些软件编译不过去了,某个2.6.23的内核就是,害得我又修改了内核的Makefile才编译通过的,不知道以后还会有什么,看来得自己编译gcc了。
另一个大的改造是在Gnome上放弃使用metacity,改用sawfish,感觉要轻便一些。不过安装sawfish需要自己编译安装。同时,默认使用fluxbox,其次是enlightenment 16,减少Gnome的使用。用了几天感觉这两个窗口管理器都很简洁,fluxbox更顺手一些,虽然e16更漂亮,但它资料太少(注:e17资料相对还多一些),不知怎么去修改它的配置,所以默认使用fluxbox了。安装它们可以用:yum install fluxbox e16。
推荐几个关于enlightenment的网址:get-e.org,e17-stuff.org,官方wiki,关于fluxbox的网址:fluxbox-wiki,fluxbox.org。
顺带体验了一下rox,感觉安装很方便,就是用着还不顺手,还是资料太少。
ProgrammingJul 4th,2008王 聪
vvoody在xiyoulinux上提出了一个C语言的问题,这个问题我之前见过,所以不想自己想了,想让计算机帮我完成。于是费了一番功夫写了个脚本帮我完成。(哎,老了,写代码慢了~~)
先贴“答案”,应该是总共8个结果(下面的9个中有两个明显是等价的):
int *i,n=99;main(){for(i=0;i<n;i--){printf("#");}}
int i,*n=99;main(){for(i=0;i<n;i--){printf("#");}}
int i,n=99;main(){for(i=0;-i<n;i--){printf("#");}}
int i,n=99;main(){for(i=0;~i<n;i--){printf("#");}}
int i,n=99;main(){for(i=0;i<&n;i--){printf("#");}}
int i,n=99;main(){for(i=0;i<n;i--);{printf("#");}}
int*i,n=99;main(){for(i=0;i<n;i--){printf("#");}}
int i,n=99;main(){for(i=0;i+n;i--){printf("#");}}
int i,n=99;main(){for(i=0;i<n;n--){printf("#");}}
用时:
real 1m3.881s
user 0m44.097s
sys 0m17.436s
最让我吃惊的结果是那个溢出的,很巧妙,脚本运行到那里停了大约4,5秒钟的样子。
最后放脚本,包括两部分,一部分用bash完成,另一部分用Perl完成。其实完全用bash或者完全用Perl都是可行的,而且完全用Perl应该是最快的。
BASH:
-
#!/bin/bash
-
-
TEST_VAR='int i,n=99;main(){for(i=0;i<n;i--){printf("#");}}'
-
-
#Generated by Python with
-
#''.join(map(lambda x: '' if chr(x).isupper() else chr(x), range(32, 127)))
-
#except '$','(',')', '{','}', '[', ']', '@', "\`", "\"", "#", "'", "\\", ' '
-
possible_chars='!'"%&*+,-./0123456789:;<=>?^_abcdefghijklmnopqrstuvwxyz|~"
-
len=${#TEST_VAR}
-
num_chars=${#possible_chars}
-
tmpfile=$(mktemp /tmp/test-$$.XXXXXXX)
-
outfile="/tmp/test_sh.out"
-
-
function is_valid_and_ok()
-
{
-
echo $1> $tmpfile
-
if gcc -xc -c -o $outfile.o $tmpfile &>/dev/null;
-
then
-
gcc -o $outfile $outfile.o &>/dev/null
-
if [[ $? -ne 0 ]]; then
-
return 0
-
fi
-
#nohup $outfile> $resultfile 2> /dev/null &
-
#sleep 1 && killall $outfile 2> /dev/null
-
n=$(./get_run_result.pl $outfile)
-
echo $n
-
if [[ $n -eq 99 ]] || [[ $n -eq 100 ]] || [[ $n -eq 1 ]]
-
then
-
return 1
-
fi
-
fi
-
return 0
-
}
-
-
#main
-
i=8
-
while(($i<$len - 16));
-
do
-
tmp="${TEST_VAR:0:$i}${TEST_VAR:$((i+1))}"
-
echo "delete: $tmp"
-
is_valid_and_ok "$tmp"
-
if [ $? -eq 1 ]
-
then
-
echo "result ==> $tmp" 1>&2
-
fi
-
i=$(($i+1))
-
done;
-
-
i=4
-
while (($i <$len - 14));
-
do
-
j=0
-
while(($j<$num_chars));
-
do
-
tmp="${TEST_VAR:0:$i}${possible_chars:$j:1}${TEST_VAR:$i}"
-
echo "add: $tmp"
-
is_valid_and_ok "$tmp"
-
if [ $? -eq 1 ]
-
then
-
echo "result ==> $tmp" 1>&2
-
fi
-
j=$(($j+1))
-
done
-
i=$(($i+1))
-
if (($i == 11)) ; then
-
i=17
-
fi
-
done;
-
-
i=0
-
while(($i<$len - 16));
-
do
-
j=0
-
while(($j<$num_chars));
-
do
-
tmp="${TEST_VAR:0:$i}${possible_chars:$j:1}${TEST_VAR:$((i+1))}"
-
echo "replace: $tmp"
-
is_valid_and_ok "$tmp"
-
if [ $? -eq 1 ]
-
then
-
echo "result ==> $tmp" 1>&2
-
fi
-
j=$(($j+1))
-
done
-
i=$(($i+1))
-
if (($i == 11)) ; then
-
i=17
-
fi
-
done;
PERL:
-
#!/usr/bin/perl -w
-
-
use strict;
-
use warnings;
-
-
my $n;
-
my $chars;
-
-
open(my $in_file, "$ARGV[0]|") or exit 1;
-
$n = read($in_file, $chars, 101);
-
-
今天是发工资的日子(pay day),比较兴奋,毕竟这是自己的第一份工资。上周就和公司的人力资源同事谈这事了,因为公司发工资不给现金,她还专门带我去银行办了信用卡,顺道带我去中餐馆吃了一顿。:-)
下午快下班时才收到银行发来的确认邮件,说多少多少钱已经转到你的帐户上。比较囧的是还差点把它当成垃圾邮件处理了,因为它的正文是放到html格式的附件中的。虽然说没有拿到实实在在的钞票,可心里还是很高兴的。
今天还有比较高兴的事是自己做的“项目”有了大的进展,开始进行下一步了,终于有机会写代码了!T_T 严重感谢公司里的一个老同事,每次当我遇到问题时总是不厌其烦的帮我,哪怕我的问题有多么地弱智。。。他有一点很让我佩服,就是,遇到一个问题,我还没反应问题是什么时他就已经找到答案了!可见他对Linux是多么熟悉!更关键的是,他知识相当渊博,编程他懂得多,很擅长C++;服务器管理他也懂,公司CVS和DHCP服务器就是他管理;硬件他还懂,给我说设计CPU多么多么简单……Orz!上次聚会时我正好坐他旁边,和他聊了很久,给我印象最深的是他的口头语,有两句,是“Oh, shit!”和“...fucking xxxx.” 还有一点让我吃惊的是他居然会4,5种语言(不是计算机编程语言,是人们说的自然语言),而上星期Fatima也告诉我她也会不下4种……Orz。难道这里的人都这么牛?
厄,还有一件事,就是skype终于可以打电话了。。。T_T 感谢ZC Miao帮我充了skype!刚刚给老妈打了个电话,那边是早上,她还没起床。
总之今天很高兴,不写了,睡觉去了。
很奇怪,前几天一直都不能正常使用NetworkManager,今天居然可以了。。。无缘无故!
难道是我人品的问题??
终于可以摆脱有线了。严重感谢George,帮了我很多忙,起码我现在知道在Linux上怎么使用无线了(以前从来没用过)。
恩,简单总结一下,基本用iwconfig和iwlist就可以了:
/sbin/iwconfig wlan0 essid "YOUR_ID" key s:YOUR_PASS mode Managed channel 6 rate auto
然后再dhclient就完了。这边的网络都是用DHCP的,在公司也是,不过公司用的是有线。
图形界面直接用NetworkManager就可以了,要开启NetworkManager和NetworkManagerDispatcher两项服务。其中遇到的一个问题是提示输入密钥环密码,不知所云为何,我简单尝试了一下,安装gnome-keyring-manager之后把login那个密钥环删掉就行了。
现在比较郁闷的另一个问题是内核。在公司得用vmware,需要内核模块,于是又下了个新内核编译完装上,但是无线和声卡驱动似乎没弄好,不能用。而在Fedora自带的内核中,又不能用vmware。这是个问题,得想办法解决掉~!
到Coimbra好几天了,一直没能上来写blog,因为我从国内带来的插头在这里都用不了,还好,公司的人发现这个问题后马上帮我换了一个。再加上公寓里用的是无线网络,又折腾了半天,最后还是用有线上来的。
到这里有很多感受,真不知道从何说起。
Coimbra风景很美,有不少山,虽然都不高,但都覆盖着树木。而且University of Coimbra就坐落在一个山头上。还有一条很长的河,纵贯整个城市。离我住的公寓不远的地方还有一座桥,很漂亮,到晚上还有彩灯,桥的另一头有一个小公园,公园里的河边有几个餐馆,我在那里吃了两次,感觉很爽,尤其是晚上。
Coimbra几乎就没有什么高楼大厦,都是比较矮的房子,很多房子看起来都是一个风格,具有典型的欧洲味。附近很多房子都是依山而建,很紧凑。这里有个很大的购物的地方,叫forum,里面几乎可以买到各种东西,所以如果你来Coimbra的话,千万记住这个地方。里面有个很大的超市,可以买一些吃的用的东西,而且比较便宜。在葡萄牙,餐馆里的饭通常都比较贵,一顿饭平均在6~7欧元左右,所以如果有条件最好自己做着吃。公寓的厨房里做饭的东西(当然是做西餐的)很全,可惜我连中餐都不会做。幸运的是,刚才出去吃晚饭时发现一家很便宜的餐馆,我吃了很饱的一顿居然才花了2.20欧元!
说到花钱,葡萄牙人似乎比我们中国人还会过,他们经常告诉我什么什么很贵,你应该怎么怎么才能便宜。公司门口的女接待Maria甚至花了一番力气帮我去弄一张公司bus的车票,还给司机说让我第二天早上坐那趟bus时免费,为的就是帮我省钱!这也说明葡萄牙人民很善良。:-)
确实,来到这里可以深刻感受到这里的人们很友好。在我来之前和我联系的Fatima就是本地人,她还用自己的车接送我去宾馆和公寓,对我照顾很周到。她有个非常可爱的儿子,名字叫劳伦斯,小家伙从小就喜欢踢球,很招人喜欢。他还太小,葡语都说得不熟练,英语根本就不会,但他爸爸还让我教他了几个汉语单词。听他们说汉语很有意思,感觉不管你怎么教他们都总是发音不准。
周围不光葡萄牙人,还有罗马尼亚人,我现在就和两个罗马尼亚人住在一起,一个叫George,另一个叫Ciprian,只知道他们的名字是这么念,不知道怎么拼写。他们也很友好,经常见了面就嘘寒问暖,而且很乐于助人。在我到这里前,还住着一个刚从大学毕业的罗马尼亚女孩,我到这里时她正好搬出去,就和她一起吃了顿饭。从她口中我头一次知道,罗马尼亚居然曾经也是个共产主义国家!她还问我中国的情况。我告诉她中国现在开放了,不像从前了,而且今年中国举办奥运会!而她居然连北京奥运会都不知道!其实我还跟好几个人说欢迎他们八月份去北京看奥运会,他们都说去不了,因为中国太远啦!
故事还有很多,而且还在继续!暂时就写到这里。时间不早了,明天还得去上班。有时间继续写。
在Google Map上胡乱画了一下这次的行程,从空间上来看也很漫长。

希望我的好运还没用完。;-) 但愿一切顺利!
再见,中国!
P.S. 在西安时买了一件“I Love China”的T恤,正好可以穿上。