通常我们都会希望一些服务在系统启动的时候能够自动运行,比如网站的服务,SVN服务等等。在Linux下面和这个功能有关的文件在/etc/rc.d(或者/etc, 不同的系统不一样)下。在这个目录下我们应该可以看到rc.0, rc.1, rc.2, rc.3, rc.4, rc.5, and rc.6, 他们分别对应于不同的运行模式,其中0和6保留为停机和重启。其余的模式在不同的机器上的定义不一定相同,我们可以查看/etc/inittab来找到自己系统上的默认模式和对于其他模式的说明. 在SuSe Linux下该文件的内容为:
# The default runlevel is defined here
id:5:initdefault:
# First script to be executed, if not booting in emergency (-b) mode
si::bootwait:/etc/init.d/boot
# /etc/init.d/rc takes care of runlevel handling
#
# runlevel 0 is System halt (Do not use this for initdefault!)
# runlevel 1 is Single user mode
# runlevel 2 is Local multiuser without remote network (e.g. NFS)
# runlevel 3 is Full multiuser with network
# runlevel 4 is Not used
# runlevel 5 is Full multiuser with network and xdm
# runlevel 6 is System reboot (Do not use this for initdefault!)
#
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
#l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
…………
和其他大多数的Linux版本不同,SuSe没有提供一个rc.local的文件用来定制用户的启动程序,该脚本仅运行一次。在SuSe的论坛上我找到了两种方法可以替换rc.local.
首先要创建rc.local,然后向其中加入自己的运行脚本。可以通过yast2来将其添加到启动项,yast2是SuSe的一个基于GUI的启动控制程序。如果你在命令行下工作可以使用chkconfig命令: chokconfig -add [filename], 在我的SuSe上文件的名字不能是rc.local, 貌似中间的那个.不被接受,所以我改成了rclocal。
如果用命令行方式需要在rclocal的前面添加:
#!/bin/sh
### BEGIN INIT INFO
# Provides: rc.local
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: [your description]
### END INIT INFO
来配置该启动项的一些参数。这里的含义是rclocal会在3和5模式下被启动。
参考链接:
http://forums.opensuse.org/archives/sf-archives/archives-programming-scripting/317339-there-no-rc-local.html
http://www.linux.com/articles/114107
那天在图书馆中无意中看到了《语言的本能》一书,便拿借回来读了一下。看了下豆瓣上的评价,结合自己的读书经验,得出的结论是这本书的中文版实在是很烂。
比如下面的英文:
Aphasia, the loss of language follwing brain injury, is devastating, and in severe cases family members may feel that the whole person is lost forever.
在书中被翻译成了:
很多家庭对于因脑伤而导致严重失语症的病人,根本是把他们当作死去、不存在般看待,因为他已‘消音’无声了”
而网友给出的参考翻译是:
“由脑伤引起的失语症是极具破坏性的,病情严重时,对家属而言,就好像永远失去了那个人一样。”
除去这些表意上有严重缺陷的地方外,还有很多明显的文法错误,而这些错误应该连小学生都能够看出来的。本书是台湾人翻译的,大陆这边估计直接照抄过来了,连校对都没做,一些词汇和大陆翻译得不一样,也造成读者的阅读困难。
这本书的封面上贴了很多国外对英文原版的赞美之词,读过此书之后感觉也挺有意思。最近在关注NLP的许多问题,本书中的一些观点很有启发意义。下了一本英文的电子版,还是原版读起来比较舒服呀。
开Blog的那天就有这样的想法了,当时想去自己实现一个。查了下Google Reader的API,能够从Google获得共享目录的RSS输出,这样自己只需要写一个Ajax的请求然后解析动态生成页面就可以了。不过由于自己的懒惰,一直没有时间去做,前些日子看到了Reader上提示说已经提供了该功能的脚本,直接复制就可以了,不过就算是这样还是等了好久才去修改自己的页面。 喏, 现在已经改好了,还是很容易的,Ctrl+C Ctrl+V, 哈哈。
在我们开发复赛框架的时候其实也是在我们项目的进行过程中,和其他的项目组相比起来我们的确是比较轻松的,组长和主要开发人员能够用这么多时间做和项目无关的工作,这种环境给我的感觉相当的好,没有过大的项目压力,又能够每天在和dodo的交流中学到很多的东西,这种在共同的工作中受到的影响是潜移默化的。记得自己当初在为加入团队而进行面试的时候就说过,自己加入的目的就是为了寻找和自己志同道合的人,dodo作为我的学长,应该是良师和益友了,如果问我在团队自己收获得最多的东西是什么,大抵就是这段经历了。
似乎有点扯远了,回到正题来。为复赛框架而进行的紧张的开发刚结束,我们就开始思考决赛出题的问题了。Idea还是dodo给出的——贪食蛇,这个题目相信大家都很熟悉了,为了让题目不至于太简单我们增加了一些元素,比如说Key和Door, 吃到Key以后能够打开Door,从而可能出现更短的到达目标点的路径。最后的要求是以最短的代价吃到最多的苹果。
在框架的技术方案上,我们摒弃了原来的独立进程的方案,而回到了dll上来,原因是复赛中大家都无法使用调试器来调试自己的程序。在界面框架上,我和dodo都不喜欢MFC,所以决定使用设计得更好的WTL框架。开发是在五子棋的基础上进行的,所以耗费的时间略少。最后的代码并不多,大约3000+的样子,在良好的设计思想的指导下,代码的质量相当的高,可以当作学习的模板。dodo在之后也多次用这个框架来给新队员们介绍设计的思想。
比赛的时间是一个下午,所有的队伍都现场完成自己的作品。和dodo共事久了,发现他是一个相当喜欢卡点的人,每次都在刚刚在deadline之前把事情做完,程序总是在最后一刻才改完,然后就急忙奔赴比赛场所。在他们比赛的时候自己也花了一些时间写了一个示范的程序,原本打算晚上演示一下的,不过可惜差一点没调试出来。选手们在5:30提交了自己的程序,然后我和dodo就赶忙在隔壁的教师休息室批改作品,这中间还发现了评分程序的一个bug,幸好被及时的发现了。那次也是印象中第一次吃工作餐。晚上的时间是现场答辩的颁奖典礼。那些面孔此后依然熟悉,很多人都成为了团队中的队友。
比赛的完成情况和之后的一届相比还是有很大差距的,虽然不是很难的题目,但是大多数组都无法想到用广搜来解决这个问题,这大概是因为电信系的同学对于算法并没有很大的关注的原因吧。自己在学习数据结构的时候根本就没有听老师讲,在大一下的时候就阅读了一本用C++模板方法讲述的数据结构的书,看得相当的有味道。而到上课的内容则完全没有意思,对于广泛使用的数据结构的教材,个人推荐不要去看,书里面经常可以看到的是大段难以理解的文字描述,对于学生的理解来说是有害而无益,国外的书的质量则很高,讲得深入浅出。这又是题外话了。
附决赛的框架程序 GreedySnake。
好久不习惯这样了,之前的很长时间都过得很自由。不过之后的时间估计要狠狠的忙一阵子了,好多好多必须要做的事情~~~~,不过这样的感觉也还不错,自己的潜能在这种环境下能够得到最大限度的发挥。
今天在豆瓣上发现了一篇帖子, 原帖如下:
一开始的时候我还以为是百度的技术问题,不过在decster的提醒之下发现豆瓣的内容还真是检索不到。就拿这篇帖子为例,把它的关键字在baidu和google中检索,只有google中有结果。在印象中baidu的结果中是有豆瓣的,不知道是不是我的错觉,反正现在是没有了,在google上搜索发现讨论这个问题的帖子基本是在24小时内出现的,难不成是baidu的人让豆瓣交钱,豆瓣拒绝之后就成这样了?唉,说实在话我一直不喜欢baidu的真实这个公司的道德问题,而喜欢google的理由也有很多来自于它的Don’t be evil的理念。
标题的最后落脚为豆瓣,其实是想推荐一下豆瓣,的确是一个非常好的网站。每次看完一部电影或者动漫之后都会去上面读读别人的评论,豆瓣的用户的文化水平还是相当的高的,有相当多的经典评论。没事的时候还可以在豆瓣上瞎逛,看看有没有自己喜欢的东西,上次发现一了叫哥特的音乐风格,比较符合我的口味。除了娱乐,对于学习也很有帮助,比如在人工智能这一领域,如果你想参考那些书值得一看,可以把其中一本经典的书先找出来,看看相关的推荐,那些推荐很高的书通常都很值得一读,自己已经在上面找到了很多好书呢~,我的豆瓣,有兴趣的去加我好友吧。
听说豆瓣也招人,以后有机会应该会去试试,我个人相当看好这家公司。
从开始写博客起到现在拥有了自己的独立空间和域名已经过去了2年多,中间因为一些原因曾经中断了很久,也换过了不少地方,最早的歪酷,到blogspot, 还有donews和baidu hi,这些地方都留下了自己的痕迹。博客的质量其实一直很低,很少有精力去写出一些高水平的文章出来,大多是简单的文字而已。从今天开始自己也算是个小小的站长了,除了写一些自己的技术和生活的体验外,我想自己还会做一些有意思的web的小东西和大家分享。
在这里的第一篇文章记录了我此时的一点点欣喜,和对未来的憧憬~