JRuby on Rails to Tomcat

Guide via someone’s request. Put here for a moment.

(more…)

LISP Classic Reload

Functional Programming(函数编程)最近越来越热,已经有点泛黄的LISP经典也被懂的抑或不懂的geek众翻出来玩。最近两个行家不约而同的开始做一个有趣的尝试:将LISP经典教材中的例子移植到最前沿的语言上——我猜一方面是温故知新,另一方面也是对新兴函数编程语言的一种深入的考察,顺带证明大师就是大师,经典就是经典,编程的思想和本质与语言无关,永远也不会过时。这两个有趣的project分别是:

PCL -> Clojure by Stuart Halloway
home | github | book
PAIP in Ruby by Ola Bini
home | github | book

MRP on GitHub

I’ve build a project on GitHub to host MRP from now on. Check it out!

Chinese Full-text Searching

现代化的全文检索引擎都对双字节有很好的支持,但是对于索引来说关键性的分词算法,则由于和语言特征直接相关,一般来说都需要单独开发。Ruby的世界里有两个出名的搜索引擎,一个是老资格的Ferret(这个站点貌似最近访问不到),另一个日渐热门的新贵Sphinx,当然这俩都不直接支持中文分词,而它们可以使用的中文分词算法目前看到的似乎是两个,都基于台湾蔡志浩mmseg算法(基本上完全开放自由的中文分词算法很少,这个是不是唯一的我不清楚)。一个是CoreSeek的李沫南用C++实现的libmmseg,这个据说不错,但在我的Mac OS X下编译不能(BSD的一些头文件位置和Linux不一样);另一个是pluskid用Ruby编写的rmmseg,以及后面用C++改写的版本rmmseg-cpp,JavaEye的robbin有篇介绍提到它们的对比,可以参考。

因为我这里只能安装rmmseg,rmmseg-cpp版本也有问题rmmseg-cpp的问题经过和pluskid的交互已通过最新的patch解决,所以先研究这个,希望能够给MRP的全文检索功能找到解决方案。

MRP Progress II

MRP启动之后,上次介绍了Phase I的完成情况,之后很久都没什么时间去折腾,最多是零零散散的更新几行代码——事实上对于大部分页面来说,也就几行代码就行了——直到开始实现查询部分的功能,这个有点麻烦,这次趁着假期才算是完成了这个部分,于是就有了这个最初的发布版本。这一篇就针对这个过程中的一些体会稍作回顾,主要涵盖的是Controller和View的部分。
(more…)

MRP 0.1 Released

All features listed on the launch have been completed. Thus we meet the first release milestone, so now you can visit the resurrected history and sniff around (personally I like to laugh at all my moronic posts there XD).

Lately I will release MRP Progress 2 (here is the Part 1) to summarize the Rails programming tips on developing such site.

MRP Progress I

MRP启动之后,这几天时不时抽空搞搞,这里把一些进展集中记录一下。

(more…)

Continuation in Ruby

今天翻到另外一篇老文章(最近对旧闻着迷,觉得新闻都是那么的烂),是 AI 和 Lisp 大牛,现任 Google 研究院的头子 Peter Norvig 2001年写的 Teach Yourself Programming in Ten Years(郭晓刚君有一个非常好的中文译文),名字一看就是调侃满大街那种《21天精通 C++》之类的东西的,但是这个其实不光出书人的问题,这是一种世界共通的浮躁,浮躁是失败之源,所以看看这种文字真是舒服。
(more…)

Thin + Nginx

最近在看关于Rails部署的一些问题,先记录点关键的信息。

Thin + Nginx with Rails

Thin是一个非常新,发展非常快的,号称是最快最小的Ruby Web Server,使用了以下三个技术来确保这一点:

  • the Mongrel parser, the root of Mongrel speed and security
  • Event Machine, a network I/O library with extremely high scalability, performance and stability
  • Rack, a minimal interface between webservers and Ruby frameworks

Tao of Ruby, Part O

题目很大,不见得文章也要大,可以一点点写,持续改进才是王道。

我一直觉得对比“计算机科学”和“IT行业”的热点是很有趣的事情,在过去的若干年里,“IT行业”忙着鼓噪多层架构、分布式计算、SOA、Web 2.0等等概念的时候,“计算机科学”既守旧又激进的前行着:说它守旧,因为它这么多年也没跳出John von NeumannAlan Turing还有Donald Knuth这些大师们创造的体系,还在研究被Frederick P. Brooks断言的“本质困难”问题;说它创新,只要举出一个例子,MSR的Simon Peyton Jones的一份报告中说,编程语言的平均寿命是2年,大部分语言被创造出来供研究,在使用者不超过50个人的情况下1-2年之内死亡——当然这个死大部分时候还是有意义的,一大堆全新的概念就此被创造出来,作为一个突出的例子,有兴趣的朋友可以研究下Lisp语系(大概没有哪个其他编程语言有Lisp这么多的方言变种了吧),那简直就是计算机科学的一部发展史。

(more…)

Quotations From Matz

Matz a.k.a Yukihiro Matsumoto a.k.a 松本行弘, creator of Ruby programming language.

(more…)

Project Euler

Project Euler是一个quiz站点,每个月发布两个题目,大部分属于花上几分钟最多几十分钟,写上几行的代码就可以解决的问题,一旦提交的答案正确了就可以进入这个题目的讨论thread,看看各种五花八门的解法,既可以只关心你喜欢或者擅长的语言,也可以看看不那么熟悉的语言里这问题可以怎么干;你还可以看看按照国家、擅长语言统计的解题情况——也有人最喜欢的是纸和笔(pencil and paper),这种一般大概都是大牛。
(more…)

Ruby 1.9.0 Released and…

经过长时间的开发者分支之后,Ruby的重要升级版本1.9.0按计划(事实上晚了4小时,原来Matz说当地时间19:00,最后实际在23:00)在圣诞节release了。
(more…)