Guide via someone’s request. Put here for a moment.
Functional Programming(函数编程)最近越来越热,已经有点泛黄的LISP经典也被懂的抑或不懂的geek众翻出来玩。最近两个行家不约而同的开始做一个有趣的尝试:将LISP经典教材中的例子移植到最前沿的语言上——我猜一方面是温故知新,另一方面也是对新兴函数编程语言的一种深入的考察,顺带证明大师就是大师,经典就是经典,编程的思想和本质与语言无关,永远也不会过时。这两个有趣的project分别是:
PCL -> Clojure by Stuart Halloway
home | github | book
PAIP in Ruby by Ola Bini
home | github | book
I’ve build a project on GitHub to host MRP from now on. Check it out!
现代化的全文检索引擎都对双字节有很好的支持,但是对于索引来说关键性的分词算法,则由于和语言特征直接相关,一般来说都需要单独开发。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的全文检索功能找到解决方案。
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.
今天翻到另外一篇老文章(最近对旧闻着迷,觉得新闻都是那么的烂),是 AI 和 Lisp 大牛,现任 Google 研究院的头子 Peter Norvig 2001年写的 Teach Yourself Programming in Ten Years(郭晓刚君有一个非常好的中文译文),名字一看就是调侃满大街那种《21天精通 C++》之类的东西的,但是这个其实不光出书人的问题,这是一种世界共通的浮躁,浮躁是失败之源,所以看看这种文字真是舒服。
(more…)
最近在看关于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
题目很大,不见得文章也要大,可以一点点写,持续改进才是王道。
我一直觉得对比“计算机科学”和“IT行业”的热点是很有趣的事情,在过去的若干年里,“IT行业”忙着鼓噪多层架构、分布式计算、SOA、Web 2.0等等概念的时候,“计算机科学”既守旧又激进的前行着:说它守旧,因为它这么多年也没跳出John von Neumann、Alan Turing还有Donald Knuth这些大师们创造的体系,还在研究被Frederick P. Brooks断言的“本质困难”问题;说它创新,只要举出一个例子,MSR的Simon Peyton Jones的一份报告中说,编程语言的平均寿命是2年,大部分语言被创造出来供研究,在使用者不超过50个人的情况下1-2年之内死亡——当然这个死大部分时候还是有意义的,一大堆全新的概念就此被创造出来,作为一个突出的例子,有兴趣的朋友可以研究下Lisp语系(大概没有哪个其他编程语言有Lisp这么多的方言变种了吧),那简直就是计算机科学的一部发展史。
Matz a.k.a Yukihiro Matsumoto a.k.a 松本行弘, creator of Ruby programming language.
Project Euler是一个quiz站点,每个月发布两个题目,大部分属于花上几分钟最多几十分钟,写上几行的代码就可以解决的问题,一旦提交的答案正确了就可以进入这个题目的讨论thread,看看各种五花八门的解法,既可以只关心你喜欢或者擅长的语言,也可以看看不那么熟悉的语言里这问题可以怎么干;你还可以看看按照国家、擅长语言统计的解题情况——也有人最喜欢的是纸和笔(pencil and paper),这种一般大概都是大牛。
(more…)