Birthday

  (昨天晚上忙着搬家,没来得及blog,今天在公司忙里偷闲补上一篇) 

  这个生日可以说是有史以来最happy的生日了,很完满了。前一天晚上bbq就在院版上发帖了,0:00准时收到LP的短信~~美滋滋地睡了。第二天收到老爸老妈的祝福短信,还有不少同学和朋友的。院版上的祝福帖虽然没上十大,但也足够了,呵呵,要低调~~

  下班以后和LP一起去吃年代札记,在文昌巷,东大那边,真远。不过那儿的环境很不错的,以前吃过两次,印象都挺好的。晚上送LP回家,然后搬家到eniac宿舍。虽然没有什么surprise,但平平淡淡的也是很不错的,在普通的一天里穿插着温馨的祝福~~

  谢谢各位的祝福~~还有LP陪我一天

Trac安装手记

在服务器安装的手记。操作系统RHEL4。基本都是用RPM安装的。
原来就装好了SVN和httpd,trac的RPM除此外还依赖了clearsilver, sqlite, python-clearsilver, python-sqlite。依赖都装好了以后,rpm还不认为http已经安装,这时候用–no-deps强行把trac装上去就OK了。
过程中主要参考了Trac平台安装这个文档中的Rehat Linux这个。RHEL4对我反而没有什么太大的帮助,主要原因是服务器上没有yum:(不过幸运的是,我们可以直接跳过前面那个configure,make,makeinstall的步骤,直接开始配置。
配置的第一步是svn repository的建立,后面那个/var/svn的路径自已改,比如我就放在了/var/svn/ac990jcy,因为我喜欢一个项目一个repository

$ svnadmin create --fs-type=fsfs /var/svn

接下去是trac环境的建立

$ trac-admin /var/trac initenv/usr/local/lib/python2.3/site-packages/libsvn/core.py:5: RuntimeWarning: Python C API version mismatch for module _core: This Python has API version 1012, module _core has version 1011.  import _core/usr/local/lib/python2.3/site-packages/libsvn/fs.py:5: RuntimeWarning: Python C API version mismatch for module _fs: This Python has API version 1012, module _fs has version 1011.  import _fs/usr/local/lib/python2.3/site-packages/libsvn/delta.py:5: RuntimeWarning: Python C API version mismatch for module _delta: This Python has API version 1012, module _delta has version 1011.  import _delta/usr/local/lib/python2.3/site-packages/libsvn/repos.py:5: RuntimeWarning: Python C API version mismatch for module _repos: This Python has API version 1012, module _repos has version 1011.  import _reposCreating a new Trac environment at /var/trac
Trac will first ask a few questions about your environmentin order to initalize and prepare the project database.
 Please enter the name of your project. This name will be used in page titles and descriptions.
Project Name [My Project]> ac990jcy(项目的名称)
 Please specify the absolute path to the project Subversion repository. Repository must be local, and trac-admin requires read+write permission to initialize the Trac database.
Path to repository [/var/svn/test]> /var/svn(我用的是/var/svn/ac990jcy)
 Please enter location of Trac page templates. Default is the location of the site-wide templates installed with Trac.
Templates directory [/usr/local/share/trac/templates]> (Press enter here)(直接按enter)Creating and Initializing Project(Output removed)Project database for 'My Project' created.
 Customize settings for your project using the command:
   trac-admin /var/trac
 Don't forget, you also need to copy (or symlink) "trac/cgi-bin/trac.cgi" to you web server's /cgi-bin/ directory, and then configure the server.
 If you're using Apache, this config example snippet might be helpful:
    Alias /trac "/wherever/you/installed/trac/htdocs/"            SetEnv TRAC_ENV "/var/trac"
    # You need something like this to authenticate users            AuthType Basic        AuthName "My Project"        AuthUserFile /somewhere/trac.htpasswd        Require valid-user
 The latest documentation can also always be found on the project website: http://projects.edgewall.com/trac/
Congratulations!

然后像最后一段那样配置apache

Alias /trac "/usr/local/share/trac/htdocs/"   #要设置trac的环境,不然怎么读?   #或者用Set Env TRAC_ENV_PARENT_DIR "/var/trac"   #我就是parent,这样就可以管理多个项目了   SetEnv TRAC_ENV "/var/trac/ac990jcy"
# You need something like this to authenticate users   AuthType Basic
#使用HTTP Basic方法验证   AuthName "ac990jcy"#登录名   AuthUserFile /var/trac/conf/htpasswd#这个是登录用的密码文件   Require valid-user#需要登录?

生成密码文件,这是创建时候的命令,以后要添加的话就不要用’-c’选项了,不然以前的都没了

$ cd /var/trac/conf$ /usr/local/apache2/bin/htpasswd -c htpasswd admin

更改trac目录访问权限,不然httpd的权限很低的,没法读trac的目录

$ chmod -Rv a+rw /var/trac

拷贝trac.cgi

$ cd /usr/local/apache2/cgi-bin$ cp /usr/local/share/trac/cgi-bin/trac.cgi .

更改httpd运行用户 在httpd.conf里找到User daemon,Group daemon这一行,改成

User svnrootGroup svnroot

最后,用/usr/local/apache2/bin/apachectl -k restart/start 启动httpd,完成

trac简易指南

trac系统有三大块主要功能:

  • Wiki
  • 码库浏览
  • Ticket

Wiki的功能很快就可以上手,如果没有什么特别需要的排版功能的话,使用上没有问题。如果需要类似重构方案的表现的话,可以参考wiki排版功能以及wiki宏
代码库浏览也没什么好说的,只是一个和SVN的集成
最重要的是Ticket。Ticket中文不好翻译,因为它有底下几种类型(可能还会扩充),但却有共同的属性和操作:描述、优先级、组件、里程碑、版本、分配人员;同时可以被关闭

  • defect,就是bug
  • enhancement,中文我也没有很好的对应翻译,在有些地方也叫做RFE(Request for Enhancement),可以理解成一种需求,对功能扩充的需求。enhancement在社区里出现的情况是这样:用户使用某个软件过程中,发现软件 的功能不够完善,比如不支持某一种格式、操作或者协议,导致程序出现错误的结果。但这种情况又不是bug,因为在开发的过程中并没有犯错,是用户的进一步 要求或者是需求有误的结果。这种情况下就归成了enhancement。区别于defect或者task
  • task 是任务分配。这个也好理解,是一个人在做任务的分配。任务解决了把ticket关闭
  • patch 本来没有的,我后来加上去的,学的sourceforge里的概念。这主要用于用户或者开发人员对程序提交的修正文件。开发人员查看补丁的内容过后关闭这个ticket

下面是ticket的状态图:
https://i0.wp.com/projects.edgewall.com/trac/attachment/wiki/TracTickets/Trac%20Ticket%20State%20Chart%2020060603DF.png
下面以defect为例,描述一个ticket的生命周期:

  1. 客服或者测试人员新建一个ticket,类型为defect,并描述bug的主要问题
  2. 管理人员根据描述的问题,决定是否接受这个defect,或者直接关闭。接受后把ticket分配给开发人员
  3. 开发人员解决了问题,更新了代码,把ticket关闭
  4. 如果客服觉得问题没有解决,reopen这个ticket
  5. 开发人员解决了问题,关闭ticket

其中当有新的ticket出现时或者被分配了新的ticket,开发人员可以通过订阅RSS(已支持)或者email(还要研究怎么配置)得到通知。同时可以通过设定固定的cc地址把所有的ticket归档到邮件列表中。

离别

  还是到了离别的时候。总想要写些什么。虽然自己还要和三分之一的兄弟一起留在南大,没有特别的伤感,但是昨天和小猛男道别的时候心里还是荡起感情。本来还想拥抱一下的,呵呵。虽然不至于一辈子不见面,可是一个和自己住了四年的兄弟,就这样说分就分,很久就见不到了,总是还有些不舍。

  等我周五回浦口的时候,估计是一片破败和萧条了吧。周一晚上回去,刚爬上五楼,发现几乎每一间宿舍都亮着灯,开着门,长长的走道上看去,颇为壮观。上一次看到这一个情景,估计是2003年的秋天,我刚到南大的时候了吧。已经沉寂了很久的大四宿舍,突然间如此热闹,多少有点回光返照的意境。

  吴波退学了,我没来得及见他最后一面。本来以为他还将在浦口待上很久一段时间的,没想到他是第一个离开的。周一下午的照相也没能去,有些遗憾,有些后悔早了些做兼职。虽然安慰自己说研究生还有浦口照,但是那时,已经不会有如此的兄弟们。毕业旅行、吃饭、学士服照,我一个也还没去要。周五一定记得带U盘回去。

  散伙饭固然喝了不少酒。居然没倒也没吐,还带人去了龙江,自己回来LP的办公室休息。和能想到的都干了(好像忘了ydb…不好意思后来脑子不清楚了..)。为了痛快,为了祝福,为了纪念,也为了麻痹。

  毕业,对我,居然有些沉重。

Extended Main Memory

  前几天版主的工资发下来了,手头顿时宽裕了一些。由于在公司开发的需要,决定把内存升到1G。今天和LP一起去了珠江路,470的价格把1G(512M*2)的DDR333扛了下来。唉,谁让我是DDR1的主板呢,这价钱,都快赶上2G的DDR2了。什么世道啊。。。

  跑过了Eclipse, Word, Excel等几个消耗内存的程序,明显感觉机子的速度上来了。特别是大型程序切换的时候再没有缺页中断导致的大量换页而造成的机子假死。真happy~~谢谢LP~~

A new part-time

  昨天和负责人面谈了,感觉还不错。项目的话也还可以,难度既不是很大,也不至于太无聊。就这样定下来了。今天说了下周就去上班,这有点赶,不过也正好最近没什么事情,干脆就去了。先在负责人宿舍暂住两周,然后再想办法,暑假住研究生的宿舍。找以前的同学了一下,负责人的口碑还是可以了。嗯,终于可以住在鼓楼了,不用两头跑了。^_^

  虽然兼职比预想得容易得多搞定了。但是不得不面对暑假要上的小学期。今天发信问了老板,说是有三门外教课,"Spatial and Multimedia database", "Software Testing"和多媒体检索。虽然看上去还可以,但是我还是很不情愿上课。也不知道老板怎么想的,这些课程其实和以后的研究并没有什么特别的关系,却说要让我们上。除了我老板以外,别的老板可没有这些动作。难道只是拉人过去凑数?那可真成了炮灰了。真是麻烦,都说工学的惨,我这个老板的最惨,我这个有两个老板的最最惨。谁都知道现在工学的个个人在曹营心在汉。心里冒出一个很幼稚的想法:暑假不给提供宿舍,没地方住,什么都不用干了,大伙下个学期再开工吧。还有一会儿后实验室机器的回收。实在没办法只能在上课的时候上午上课下午上班了,谁让我不能像xiaoyi那样勇敢地一刀两断呢?

  还有那个APIS,早八辈子没兴趣了,开会的时候也不想多说。定的计划肯定是完不成的,这个谁都知道 。下周的例会我是没兴趣了。团队是没人想干下去了。要不是这个毕设,现在程序估计连个影也没有。

  学车的报名和体检倒是完成了。下下周领材料准备考交规。That’s a good news.

  下周的毕业旅行不知道还可不可以去。去的话人那么少也没什么意思。两个主要的advocater都不在学校,八成要泡汤了。

  发了好多牢骚。不过可以搬到鼓楼和LP在一个地方了,可以兼职赚点小钱,还是挺开心的。虽然还是有那些烦心事,但我想车到山前必有路,船到桥头自然直吧~~Cheer up, man!!

一首闽南语歌

很早就会唱了吧,估计是小学的时候,只是跟着大人唱。老爸特别喜欢的一首。
闽南的和台湾的肯定都听过吧,还是比较经典的。
今年春节又听施文彬唱了一遍,感觉不错。
前一阵子常听这首~~(倒是和这阵子家里的事无关),上次K歌的时候还想唱的,后来怀疑唱不上去,放弃。
http://fcu.org.tw/~f94b0116/no8/song-9.Mp3

歌曲:
伤心酒店

江蕙 施文彬-伤心酒店
作曲:吉几三作词:罗文聪编曲:洪艾伦
女:冷淡的光线
哀怨的歌声
饮酒的人无心晟
世间的繁华亲像梦一摊
也是无较诅
男:暗淡酒店内
悲伤谁人知
痛苦吞腹内
女:一杯搁再来
男:你若有了解
合:甭问阮对叨位来
女:不愿讲出来甘卒放心内
感情失落的无奈
苦苦块等待
还是等无爱
虚情的对待
男:多情的世界
找无真情爱
引阮心悲哀
爱引阮心悲哀
女:有爱也罢
男:无爱嘛快活
合:今夜伴阮是孤单

答辩结束

  终于完成答辩了。过程虽然有点抖霍,但总体还算顺利。也有老师说我系统作得不错~~嗯,还要感谢bbbiao做的那个PP的弹出式div啊。

  晚上兄弟们在卖书,我也搭车卖点,顺便让LP代销我的GRE资料,回笼点资金。

  毕业了,我想干什么呢?其实最想的是和LP出去旅游一趟,不用太远,皖浙苏沪就好,鲁鄂赣都有点嫌远。花费在1000元以内吧。暑假还要学车,要花个3000块的。最好和兄弟们一起去毕业旅游的时候和LP一起。不过最近LP实在太忙了。

  前一阵子想看很多书,不过太忙。现在不忙了,却不想看书了。两本大部头–“深入解析windows操作系统"和“深入理解计算机系统”应该是最近的主攻。

  早上起来,顿时觉得和不少兄弟的时间只有三个星期了。小猛男去上海,可能还后会有期,不过也很难说。BBQ在鼓楼一年,还可以偶尔看看,不过去德国后人会不会回来也不知道。吴波还会再浦口呆一段时间。szxj回家工作,很难说。xiaoyi是同居对象。吴瑞、班长、zbj还在软院。xixiwoo去了上海,单位不详,也不好说了。王宇去了日本,不过他南京人,还是会见到的。施展和jetty估计春节期间还可以聚聚,对了,施展还欠我和老婆一顿饭,lemon要旁听的。jetty和亚洲同居,临时去上海的话我也有住处了,嘿嘿。标标还在南京,有空进城找他玩。许超去上海了,估计还是会出国。

  毕业典礼后,大家也开始各奔前程了。在这里住大家好运!!