nXhtml: tame your rhtml files

I personally use Emacs as an IDE to develop rails project. Equipped with emacs-rails, it becomes a powerful IDE for rails developing. However, you may noticed, it doesn't have full support for rhtml files. You can use html-mode to edit rhtml files, it is already good enough. But is is of course not [...]

linum.el: Yet another package for Emacs to display line number

Emacs 自带的行号显示方式仅仅在 mode-line 上显示当前行号,有时候显得颇不方便。其他流行的和不流行的编辑器通常都有在左边显示行号的功能。Emacs 当然也有许多扩展来实现这个功能,比如 setnu.el(再配上 setnu+.el) 以及 wb-line-number.el 等。今天在这里又发现一个 linum.el ,它的主页在这里。 其实总的来说,这几个扩展都不是特别理想,比如 setnu 总有各种各样的小问题,虽然不太印象使用,但是让人感觉不舒服。wb-line-number 看上去要好一点,不过却要求你把滚动条关掉。而这里的 linum 几乎和 setnu [...]

2007 微软夏令营之行:花絮

MSRA Vs Google China 第一天晚上回到酒店以后,托周 core 的福,我们俱乐部四个人顺便去 Google 那边参观了一下。因为还有两个人穿着微软夏令营的文化衫,其实也不方便在里面乱逛,基本上就是在二楼的休息的地方玩了一下。那里有几个架子上放了许多零食和各种各样的饮料。还有诸如按摩椅、台球、桌上足球之类的娱乐设施,另外,还有一个游戏机放在那里,可惜里面只有两个游戏。 那样的环境下工作真的会很舒服,累了便放松一下,饮料和零食都随手可得。其实能进这样的公司的肯定都是高水平的人,若是对他们管得太严,难保会偷懒,若是放开来了,工作效率反而会提高的。 可惜没有机会参观一下 [...]

2007 微软学生夏令营之行:王坚访谈

我的记忆力是越来越差了,这次夏令营有许多高层的人士过来,一是我一开始就不认识他们,二是他们讲完以后我也没能记住名字或者职位什么的。不过这个王坚我倒是记住了。 其实这个座谈会整个是非常搞笑的,因为主持人老是说错话,或者说王坚老是挑主持人的毛病。 :D [...]

2007 微软学生夏令营之行:换一个角度思考

这次夏令营有一个环节是用于各个学校的俱乐部展示获奖的实践项目。其实我自己也有过这样的体会,比如做课程项目的时候,如果项目最后做得不太好,在文档里面没有什么好写的,就把诸如“本项目用到了XX技术”之类的东西写一堆进去,或者是“由于我们使用了XX平台/技术/框架/语言,所以XX功能不方便实现”之类的。比如这次参展的(我丝毫没有针对某个俱乐部/学校的意思,只是随便举一下例子。 :P )有一个叫做“泡泡堂”的游戏,游戏界面实在不好看,而且和真正的“泡泡堂”也差得很远,只能单击玩,可是项目介绍里面写了一条说使用 Turbo C 的那个 graphics.h 进行开发,这就没有办法了,能用 [...]

2007 微软学生夏令营之行:另一个团队

我们以俱乐部为单位进入了夏令营,但是第一天晚上欢迎会就把我们各个俱乐部的成员打散,组成了另外的团队,一共八个组,每组十五、六个人,并交给了每个组一个任务:在三十分钟之内确定队长、副队长、队名、队训(必须以一个给定的英文字母开头)、队歌,还要设计和制作出自己的队旗。这是第一个挑战,在完成的十分钟之前我都一直觉得不可能完成任务的,然而最后还是让我体会到了团队的力量。而且大家都是从全国各地各个学校的俱乐部过来的精英,肯定都是顶呱呱的聪明的了!不过完成任务也不是容易的事情,相信每个队都用满了这足足的三十分钟吧。经过这紧张刺激的第一次挑战,原本互不相识的组员们也一下子互相熟悉了不少。我们是第二组,队名叫 [...]

2007 微软学生夏令营之行:北京印象

其实我很少旅行,这是第一次到北京,甚至是第一次到北方。我们几个从火车站坐地铁到酒店。北京给我的第一印象就是民风彪悍,不管是男是女都挂着脏话,地铁上还发生了一次不小的冲突,两个人破口大骂。另外地铁也很令我失望,第一次坐地铁嘛,除了速度快一点,感觉比公交车还挤,不过什么东西在中国都这样,也是没有办法的。还有就是到处都看到有人在学英语以及谈论奥运的事情。 活动要当天(8.20)下午才开始,于是我们 check in [...]

2007 微软学生夏令营之行

非常幸运这次能有机会参加今年的微软学生夏令营,虽然不知道会是什么样子,但是知道肯定会非常有趣并且非常难忘。经过了一系列的准备,带上了相关的资料,便和俱乐部的另外三个 dd 一起上路了。其实听说每个俱乐部参加的四个人中都必须至少有一个 mm ,不过这次我们也没有办法了 :P 。而且这次我们竟然一个大二的,三个大一的过去,不知道是不是平均年龄最小的一个俱乐部了。 夏令营虽然只有短短的五天时间,但这五天也着实学到了许多东西,不像技术方面的东西,看书就能学会,这五天体验到的东西也许真正是看五年的书也换不来的。虽然有点累,但是却是非常快乐的五天。

Photoshop 鼠标绘图一张

每次快要出门的时候都总是按奈不住,其实我是不喜欢旅行的,因此并不是感到特别高兴,但是确实是无法静下心来做些正事了。那就休息一下好了,但不能总是睡觉,在 Energy Management 一文中说过,精力并不只是物理上的休息就能完全恢复的,虽然我一项都很喜欢睡觉的时候体验一下虚幻的梦境,但是要让情绪等各方面都得到休息,还是干点其他有趣的事情吧,改变工作就是最好的休息啊。 于是我打开 Photoshop [...]

新生报道

这几天又是一年一度的新生报道时间了,学校一下子热闹起来,晚上竟然灯火通明,行政楼外面所有的灯都开起来了。不过我不太喜欢热闹,或者说“不喜欢太热闹”。路上到处都是人,人多了其他东西就多了,比如噪音、满地的垃圾、横七竖八的自行车……还有食堂以及各种超市都排着长长的队,一点都没有进去的欲望了。 [...]

Spun down disk properly

更新内核到 2.6.22 除了前面提到的 vmnet 编译错误的问题,还在关机的时候多出来了一条警告: DISK MIGHT NOT BE SPUN DOWN PROPERLY. UPDATE SHUTDOWN UTILITY For more info, visit http://linux-ata.org/shutdown.html 这是关机的最后一条信息了,一直都没有特别注意,因为信息显示出来紧接着机器就关掉了,不太来得及看清楚。今天特地记下那个链接,去那里看了一下,好像是 SATA 硬盘在关机的时候没有按照“正常”的程序关闭的问题,文中说原因是老式的 shutdown [...]

memoize in Ruby

Common Lisp 的经典书《On Lisp》的 5.3 节叫做 Memoizing 。书中讲到了将函数调用的返回值缓存起来的一种技术。这本来是一种非常常见的技术,但是《On Lisp》让我看到了动态语言的精练之处,这样的一种技术被抽象成一个通用的函数,将任意一个函数传入 memoize ,就会得到一个经过包装的函数,并且它已经具备了缓存的能力: (defun memoize (fn) (let ((cache (make-hash-table :test #'equal))) #'(lambda (&rest args) (multiple-value-bind (val win) [...]

Vmware module vmnet refused to compile under linux 2.6.22

最近升级到了 Linux 2.6.22 的内核,vmware 需要重新编译一下内核模块。不过这次并不那么顺利,安装好内核头文件以后运行 vmware-config.pl ,在编译网络模块的时候出错了。从错误来看应该是内核源代码变动造成的吧,在网上搜索了一下,发现是 Linux 内核里面对 network stack 有很大的改动造成的。并且在这里找到了一个可以下载的 patch 以及打好 patch 的 vmnet.tar 。那里的作者说是在 AMD64 下正常工作的,我使用的是 Vmware 6 ,机器是 IA32 ,我看到回复里面说 IA32 也正常的,于是就下载回来了。 把下载回来的 [...]

Ruby 里的元编程

关于元编程 Wikipedia 上关于元编程的定义说元编程就是将程序作为数据进行处理。“用程序来处理程序”,这就是“元”的来源了,这本身是一个容易产生混淆的地方,就像“用语言来描述语言”一样,数学上的许多悖论就来自于此呢。幸好我们用的编程语言比自然语言要简单许多,并且都有严格的定义规范,有兴趣的人可以尝试在自己喜欢的编程语言里面构造一下 “This statement is false” 这个经典悖论。 回到元编程,程序处理程序可以分为“处理其他程序”和“处理自己”,对于前者,有我们熟悉的 lex 和 lacc [...]

中文问题

今天收到一封邮件,让我感到很失落。其实是一封道歉信。起因是我在邮件列表里面问了一个问题,而我的邮件用户名称是用的中文,邮件列表里面的一个用户那里无法正常显示中文(应该是字体的问题吧),当然这种乱码看上去很像病毒一类的,被自动标记为垃圾邮件了。后来他发现了这个问题,取消了垃圾邮件的标记,并发来了这封道歉信。 首先我看到国内和国外对待这种小事的区别了。国内的好像多是“不拘小节”吧,而国外的人似乎都挺追求完美的(至少在我所常见到的 IT 这个领域里面是这样的),从国内和国外的各种技术 Blog 以及 Wiki [...]