0%

阅兵假期之前突然莫名地有一种再玩《仙剑奇侠传》的冲动,于是在假期中花了两天时间又重温了一次这部经典之作。后来在网上看,原来今年是《仙剑奇侠传》发行20周年,也算冥冥之中的一种召唤吧。说起这一部游戏,还真是能说一说情怀了。

《仙剑》是我玩的第一款电脑游戏。小学五年级的时候家里买了第一台电脑,那个时候的电脑还是奔腾3处理器,内存只有256M,买来时是Windows98系统,电话线拨号上网。那个时候还不流行网络游戏,一个是电话线上网网速慢,打开个那个时候流行的搜狐门户都卡得要死;再一个就是网费花不起,按时间计费,我已经不记得当时的网费是多少了,但是几个小时的网费肯定够家里家长唠叨好多天了,基本一个月就是30小时的上网时间,平均起来每天也就是上一个小时网,不可能整天整天的挂在线上。有了电脑,除了平时练练打字或者画个画(不得不提一句,我小时候可是用画图软件画过泰坦尼克号那条大船),偶尔上个网,游戏肯定是不能少的,不然一台电脑可真就浪费了。没有网游,小伙伴们就玩单机游戏,什么《红色警戒》、《帝国时代》、《沙丘2000》等等,那个时候真算是单机游戏的黄金年代了。不过阴差阳错的,这些我后来都玩得津津有味的游戏都没有在第一时间被安装在我的电脑里。我记得应该是在一个夏天的周末,爸妈都去上班了,我在家闲的无聊,就说出去转转吧。在离家不远的一排门脸房,我发现了一个卖软件的店面,店面的名字我早就不记得了,而且现在那个店面也早已改了主人,但是那家店的位置到现在我都还记得清清楚楚。从落地的玻璃中,我可以看到店内花花绿绿的游戏包装,小孩子很容易就被吸引了。走进去左看看右看看,不知道《仙剑》到底是什么吸引了我,让我最终在一整面墙的游戏中唯独掏钱买了这一款,但是我深深地记住了粉红色的包装上画着的男女主人公和飘落的桃花瓣。

李逍遥

翩翩潇洒美少年,灵岛求药结仙缘。

千里崎岖不辞苦,仗剑江湖为红颜。

《仙剑》的故事可能是很多小伙伴的爱情启蒙。虽然李逍遥和三个女子都有说不清道不明的情愫,但是这样的一个故事不会让人想起现在流行的后宫剧,而是真正的相亲相爱,有责任、有知己、有呵护。然而幸福的日子总是短暂的,美好的爱情也不能阻挡命运的捉弄,不管是逍遥和灵儿踏上去苗疆的路,还是和月如许愿要吃遍天下珍味、看遍人间美景,都在一个个变故之中成为记忆,每段旅程越是美好,当一切都已成往事时就越刺痛人心。或许,当逍遥最终失去灵儿,告别了阿奴,在冰雪之中看到没有复活但能不死的月如抱着忆如时,他的内心之中早已五味杂陈、悲怆无语了。或许从那时起,逍遥要很长一段时间后才能收拾好心情,走出阴霾,再一次踏上成为大侠的路。

赵灵儿

仙灵岛上别洞天,池中孤莲伴月眠。

一朝风雨落水面,愿君拾得惜相怜。

林月如

刁蛮少女贵千金,比武招亲动芳心。

盼能与君长相依,结伴江湖侠侣行。

阿奴

如花苗女鬼灵精,喜逢君子初尝情。

落花有意结连理,拌月愿作一颗星。

在这三个女子当中,灵儿温柔善良,阿奴鬼怪精灵,而我最喜欢月如。月如独立坚强,做事有主意有担当,不是那种生活不能自理的大小姐,关键时刻可以帮助逍遥,连终身大事也由自己做主。有时也有一点点刁蛮任性,对仆人棒打鸳鸯,比武招亲手下没轻没重。另外,跟月如在一起的日子,是逍遥最开心的一段时间,可能每一天都充满了新鲜感。月如最吸引我的也就是这种新鲜感,如果没有那些令人悲伤的经历,他们可能一刻也闲不住,总是要闹一些麻烦出来。要是他们穿越到现代,不知他们会实施多少次说走就走的旅行,买上一张最近起飞的航班机票,到一个新鲜的城市,尝试一下百虫宴,来一次蹦极……

《仙剑》引领了一个武侠游戏的时代,记得那时候还出了《剑侠情缘》、《绝代双骄》等等一大批武侠游戏。现在看来《仙剑》的画面很原始,还是一个个像素快堆叠起的世界,配乐是极简的电音,但是每当一首《蝶恋》响起,看着那“新的故事”和“旧的回忆”,我知道没有什么游戏可以超越《仙剑》在我心中的地位。甚至那一句“胜败乃兵家常事,大侠请重新来过”,也已经被融入到了日常生活。前一阵在知乎上还有人在讨论为什么逍遥和灵儿去蜀地要从余杭到苏州,还经过京城长安,我还真对照着地图,好好研读了一遍评价最高的答案。每看到一个地名,总能回忆起故事中的种种,那一种感动是无以言表的。后来《仙剑》出了很多续作,也玩过其中的一些,但是我总也不能再次体会玩“仙一”那种心境,或许这就是情怀。

Table of Content

  • Content
    {:toc}

Prerequisite

  1. install NVIDIA GTX970M driver
  2. install CUDA 7.0 Toolkit

Please refer to my previous blog Installation of NVIDIA GPU Driver and CUDA Toolkit

Install OpenBLAS

  1. download source code from OpenBLAS official website and extract the archive
  2. (optional) install gfortran by sudo apt-get install gfortran
  3. change directory to the position of extracted folder the and compile make FC=gfortran
  4. install by make PREFIX=/your/path install
  5. add paths to envrionment: PATH=/your/path/to/openblas/include:$PATH and LD_LIBRARY_PATH=/your/path/to/openblas/lib:$LD_LIBRARY_PATH and export the pathes.

Install Anaconda

  1. download the script from http://continuum.io/downloads
  2. change mode sudo chmod +x Anaconda*.sh
  3. execute the installer by bash Anaconda*.sh
  4. in ~/.bashrc add
1
2
LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

NEVER put it in /etc !!! Otherwise, one may be in danger of unable to get into GUI.
5. config HDF5 version

1
2
3
4
cd /usr/lib/x86_64-linux-gnu
sudo ln -s libhdf5.so.7 libhdf5.so.10
sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.10
sudo ldconfig

Install OpenCV

One can conveniently install OpenCV by run a shell script from a Github repository

  1. download the script. For me, I use OpenCV 2.4.10.
  2. change mode of the shell sudo chmod +x opencv2_4_10.sh
  3. run the script sudo ./opencv2_4_10.sh. Note that one may need to modify the cmake settings, such as eliminating QT.

Install a Set of Dpendencies

Following the guideline in Caffe, we can set up the dependencies by commond sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

Compile Caffe

  1. get Caffe from github git clone https://github.com/BVLC/caffe.git
  2. edit Makefile.config to set correct paths. Firstly create Makefile.config by cp Makefile.config.example Makefile.config. Then modify several paths. For me, I set blas to openblas and set blas path to /opt/OpenBLAS/include and /opt/OpenBLAS/lib where I install OpenBLAS; Python is set to Anaconda as well as its paths.
  3. compile Caffe by make -j and make pycaffe
  4. In addition, so far Caffe should be able to be compiled without any problem. However, when running exampls such as MNIST, some libs might be missing. My solution is to add libraries to the system library cache. For example, create a file called cuda.conf in /etc/ld.so.conf.d/ and add the path “/usr/local/cuda-7.0/lib64” to this file.

Table of Content

  • Content
    {:toc}

Disable default driver

  1. modify /etc/modprobe.d/blacklist.conf by adding following commond at the end of the file:blacklist nouveau
  2. modify /etc/default/grub file by adding rdblacklist=nouveau nouveau.modeset=0

Install NVIDIA GPU Driver

  1. type ctrl+alt+F1 to tty and log in.
  2. shut down lightdm sudo service lightdm stop
  3. add source sudo add-apt-repository ppa:xorg-edgers/ppa,sudo apt-get update.
  4. install driver. Note that the version of the driver must be correspondent to the GPU card. One can find the correct version in NVIDIA official website. For example, my GPU is GTX970M, then I should use the following commend: sudo apt-get install nvidia-352 and sudo apt-get install nvidia-352-uvm
  5. reboot

Install CUDA Toolkit

  1. download CUDA 7.0 .run file from NVIDIA website. Note that the CUDA version should be correspendent to gcc version and driver version.
  2. change .run file mode by chmod +x *.run
  3. install CUDA by sudo ./*.run. Note to skip the installation of driver.
  4. add necessary environment path by PATH=/path/to/cuda/bin:$PATH and LD_LIBRARY_PATH=/path/to/cuda/lib64:$LD_IBRARY_PATH and export them. Alternatively, one can modify /etc/profile to set the environment paths. For example, add export PATH="/path/to/cuda/bin:$PATH" and in commond line type source /etc/profile
  5. verify the installation. Change directory to CUDA sample and make the samples. Run a sample sudo ./deviceQuery to verify the installation.

上篇博文里记述了我的一个梦,突然想到很久以前我也梦见过一个很离奇的梦,也是跟爱情相关。翻了自己在人人网上的日志终于找到了,是2007年12月的一个梦,刚刚上大学,真是年轻单纯啊,连梦的结尾都比最近的梦圆满。当时的梦境是:

某个年代(似乎是拿破仑时代,十九世纪二十年代左右),我在某个王国(欧洲风格),我有一个恋人,或者是认识了一个女孩(记不清了)。我不知道她的国籍,但我想和我一样,因为我们可以毫无障碍的交流。我看不清她的模样,在梦里她总是模糊的。我有个朋友是国王的近臣,他掌管军队的物资。

有一次,那个女孩要去一个城镇(忘了原因),女孩出发了,但我非常不安,便跟去了。有一天,在我们俩见面的时候,我看见她脚下的土地能够倒映她的身影,不是普通的阴影,而是像镜子一样的倒影,就好像水面一样,但倒影非常模糊。我又开始非常不安,就急切地劝她离开这个城镇。当我们刚刚骑马走出城,马就惊了,把我们两个人摔在了城外。这个时候突然地面开始抖动,发生了一场特别恐怖的地震。地震过后,我们俩回望那个城镇,它已经完全成为了废墟。我们都非常庆幸,但我并没有告诉她我都看到了什么。

平平安安地过了一段时间,国王派遣我去某个地方,那是个军队驻地。那个女孩在送我走的时候也看到我身下又很不清晰的倒影,并感到很焦虑。她就把这件事告诉了那个作大臣的朋友。当得知我去的那个地方的名字后,他十分吃惊。他说那个地方已经荒废了,那儿有个秘密建的非常大的火药库,但本来火药库不该建在那儿,所以马上就要被炸毁了。可能是有人想要害死我。就这样,那个朋友骑快马追上了我,秘密的告诉了我这些事。但我身边有个人总是在催促我赶快上路,说国王命令不能拖延。朋友无奈只得回去,那个女孩没办法,只好自己赶来了,不知道她怎么就让我在路上停留了一天(忘记原因了)。我们延迟了一天到达目的地,在转过一个小山包之前,我们听到了剧烈的爆炸声。转过山包,又是一片废墟。

最后,朋友为了我的安全,把我转移到了另一个国家,和我一起离开的还有那个女孩。朋友在送我走的时候说:真爱的人可以看清对方脚下的土地!

记得当时做这个梦醒来之后是一种精神饱满、神清气爽的感觉。最近的那个梦也是如此,但是结尾就显得比较隐晦,好像是绝望中隐含着希望,后来也没有再接着梦到这个故事了,姑且当做也有个圆满的结局吧。

昨天夜里做了个梦。

我叫刘亚楠,年龄应该是18-19岁左右。在A城某学校上学,这所学校绝不是现实中的大学,更像是培训中心,教会学生如何成为人类社会的一颗螺丝钉,如何为了人类的生存而服从管理。在这里,恋爱是被禁止的,因为一个人的未来已经被确定了,他或她以后有没有被计划结婚,繁衍几个后代都是确定的。但是,我和一个叫陈美玲的女孩恋爱了,虽然只能是地下恋情,我们依旧很开心。

终于有一天我们的事情暴露了,在傍晚天刚刚黑下来的时候,学校的负责人带着政府的人来抓我们。这一天天气阴沉,刚刚下过雨,道路湿滑,宿舍楼道里的黄色灯光十分昏暗,还在不停的抖动,时亮时暗。我的好朋友alice(一个有点男人婆的女生)跑来告诉我快逃,于是我拉着美玲逃出了学校。我清楚地记得当我们转过楼道尽头来到一侧的楼梯间时,来抓我们的人刚刚走出楼道另一侧的楼梯间,就这样他们错过了我们。

A城晚上是有宵禁的,无缘无故在外面瞎晃是会被抓起来的,于是我和美玲决定乘长途汽车先躲到临城,然后想办法逃到偏远地区生活。学校里,学校负责人发现我们不见了,要求学校里的所有老师和学生对学校和A城进行搜索。从A城出发的长途汽车站只有一个,位于一个叫“老城墙”的地方,而我们离这个地方很远,必须乘车才能到。为了不被学校的人抓到,我们必须去一个偏远的公交站坐车。在去公交站的路上,我们发现有学校的人,我们知道他们是来抓我们的,于是我们不得不去另一个更远的车站。在路上我们不停的跑,一是因为每天公交的班次是有限的,错过了就要几个小时以后才能有下一班,另一个原因就是我们害怕被抓到。

当我们跑到车站的时候,天已经完全黑了,街边立着不太亮的路灯,我们躲到车站旁边小巷的阴影里忐忑地等车,一边盼望着车快点来,一边紧张地关注着是不是有学校的人出现。当公交车缓缓的进站时,我们走出阴影,准备上车。这时,我突然发现有一群人向车站走来,他们是学校里的学生。这些人中有几个是和我熟识的朋友,其中一个是alice。还有一个小男孩,只有14-15岁,我们都管他叫“小孩”,因为他的年龄比我们都小,很可爱,而且善良单纯,别人说什么都信。我赶紧压低了美玲和我的帽檐,我只盼着他们不要在人群里把我们认出来,因为车已经停下来了,我们马上就可以上车了。这时来抓我们的人已经走到我们身边了,“小孩”就在我身边,我扭过脸怕被他发现,但是他还是发现了我,与我四目相对的一刻,我看到了他眼中的惊奇,或许他从来没有想到过真的可以找到我们,我冲他摇了摇头,希望他不用揭发我们。但是,在一丝犹豫之后,他还是向其他人大喊我在这里。这时车门开了,我一把把美玲推上车,而我被一只手抓住了,虽然我挣脱了那只手,但是我没能上车,我只能沿着路逃跑,我能看见美玲在车窗里流着泪向我比划着说到临城找她。

宵禁开始了,没有办法,我只能悄悄潜回了学校,躲进了存放打扫工具的房间,我锁上了门,但不敢打开房间里的灯,害怕被人发现。我躲进来不久,房门被钥匙打开了,我赶快躲到了一堆工具后面,但是进来的人没有开灯。我听见他们说话,是alice和“小孩”,alice指责“小孩”为什么要揭发我,“小孩”说是因为老师要求的,alice很无奈,只好让“小孩”先回去了。过了一会儿,alice也出去了,从外面锁了门。等了一会儿,我刚刚感觉到放松,想从工具后面出来,找个舒服一点的地方打个盹,这时门锁又被转动了,进来一个膀大腰圆的男人,他打开灯,一个箭步就把我从工具后面抓了出来…

醒了。

最近听电子书,搞了一本英音原本的《哈利波特》,不禁想起“年轻”时写的一篇博文,粘来应应景。

那时刚刚在影院看了《哈利波特与混血王子》,感觉这是除了第一部和第二部之外拍的最好的一部,不过依旧是观前期待很大,观后略微失望的感觉。这一部仍然延续了前几部灰暗阴冷的风格,即使在比较热情的魁地奇赛场上也没有太多的暖色调,朦胧的爱情也没有沉浸在玫瑰的红艳之中。虽然这一部本来就很阴郁,但缺少暖色总是让电影给人一种沉闷的感觉,紧张的情绪也总得不到调节,对于一部将近三个小时的电影来说难免令人感到精神疲劳。

最初接触哈利系列是在电影院,应该是初中的时候,那个时候对哈利系列完全是一种不屑的心态,因为不管是《魔法石》还是《密室》都是纯纯粹粹就是儿童影片,没有什么新意,而且剧情雷同。和其他人不同,我连一本哈利系列的小说都没有买,也没用兴趣去读这样一部儿童读物,即使有同学跟我争论说这是一部老少皆宜的作品,我也不以为然。相反,我对另一部英国魔幻作品《指环王》却是出奇的着迷,或许是其磅礴的诗史气魄格外吸引人,所以我也读了《指环王》原著的三部曲及其前传,而对哈利系列始终没有兴趣。

在大二上学期,花了两个月读完哈利系列,对这部作品有了一些新的看法。这部作品给我最大的印象就是它是一个关于成长的故事,它的出版速度十分符合我们这一代人成长的时间进程,1997年第一部出版到2007年最后一部完结,从十来岁的少年到十八九的青年正好被七部小说的出版所覆盖,小说的内容也逐渐成人化。从小孩子对魔法的好奇与向往开始,第一二部里神奇的魔法世界,诡异的车站,骑着扫把飞翔的魔法师,独特的魁地奇……等等一些新奇的玩意儿给小孩子们很多充满想象力的冲击,这时的电影风格也是暖色调居多,尤其第一二部完全可以当做独立电影来看待,完整的故事情节,绚丽的电脑特技和圆满的结尾都让它成为不错的儿童电影;后来便开始了成长的烦恼,从第三部起,一直到第五部,我认为小说都是在重复第一二部的故事结构,没有什么创新,而且故事之间的连续性很差,估计唯一的联系就是伏地魔逐渐强大起来,给最后两部做个蹩脚的铺垫,在读小说的过程中,读第一二部还觉得不错,但是第三部开始便开始感觉到有一些厌烦。电影也是如此,类似的故事结构,没有什么新意的特效,四平八稳的指导,都没让这三部电影给人留下深刻的印象。到了第六部和第七部,故事才有所转折,而且这里主人公也已经开始体验亲情,友情,爱情,背叛,忠诚,正义,邪恶……小说的高潮也从此开始。但是电影依旧没有什么太大的起色,对原著的改编也并不成功,而且越到最后对于那些没有看过原著的观众来说,电影越来越难以理解。

对于哈利系列,原著比电影应该更吸引人,而且阅读给人留下的想象空间更广大,也正是因此对于忧郁的中间几部而言,总会有一些令人放松精神的篇章,在这些地方读者不会受困于电影画面的禁锢而不得不继续忧郁着。

My name is Li Zhixuan, currently a computer vision engineer in Beijing, China. If you like, you can call me Joshua, which sounds more or less like my Chinese given name.

I did not notice that I am already a writer until I drew the time line of my humble writing career. The first memories of my starting writing are those diaries that I kept in summer holidays according to my Chinese teacher’s request when I was in grade six to eight. At that time, I just hated writing because I did not know what to write about due to not many meaningful things happened in holidays. Besides, being unable to tell a story lively made me feel pathetic and inferior. However, sometimes I did feel happy about my writings. I remembered that I wrote a short story about how I was annoyed by mosquitoes and got up killing them in a summer night. The story was written in ancient Chinese style imitating a text from my Chinese textbook. I got a Bravo from my Chinese teacher and she said it was really funny to read. Though I still suffered from lack of words and telling stories like presenting facts, I began to feel free to write and cultivated a habit of keeping diaries from then on. Thanks to that, I got three huge notebooks full of growing pains in my “secret chamber”.

I began to know academic writing when I was in university. There were many courses that required an essay for evaluation. From the reference papers, I learnt to propose problems, explain solutions and presenting evidence of effectiveness and feasibility. Unlike most of my peers feeling awful about writing their Master degree dissertations, I felt quite comfortable with it mainly because I had much to share with others. My dissertation was about detecting certain events in surveillance videos. I was so eager to share with others about how meaningful the task was, what flaws current algorithms had and how I improved them that it was as if everything was just bursting out of my mind. Although I write much in Chinese, I have little experience of writing academic papers in English. The only experience is a paper I wrote about detecting pedestrians in images, which was a part of work from my Master dissertation and the paper was published in an international conference. It was because of the conference that I got a chance to visit Krakow, a beautiful historical city in Poland. I felt really proud of myself presenting my work in the conference and it was really a pleasant trip to Krakow, appreciating its marvelous beauty and culture.

Currently, I am working in an IT company and writing patents, project documentation and slides is also my responsibility. In addition, I am writing this blog. Those are some of the reasons I am taking this course. I wish I could really improve myself and have fun with writing!