程序设计之搜索,搜索、积累与发展。

搜索引擎

链接快递

研究快递

2007年2月11日星期日

转战自己的主页空间

从2003年起,写Wiki和Blog已经有三年多的时间了,它们其实是一种终身学习的工具。这个时代,个人越来越多的嵌入到网络世界里,所以经过考虑,我开通了自己的主页空间。这个Blog会停止更新,今后将转战于那里。谢谢大家对这个Blog的支持。

2007年2月9日星期五

增加了链接与研究快递

尝试用Yahoo! Pipes烧合功能做了两个快递,都是我平时觉得品质不错网络资源:

  • 链接快递是基于del.icio.us上的popular links,让我们可以很快了解工业界的动态;
  • 研究快递是基于Google、Sun、IBM和M$的研究所的Feeds输出。
唯一觉得可惜的是各大学的研究所很少提供Feeds,这样就很难抓到这些有用的资源了。

2007年2月8日星期四

初试Haskell

昨天初次尝试用Haskell编了一个小的程序,用来检测一个列表有没有重复的元素。习惯了命令式编程语言后,尝试这种宣告式编程(Declarative programming) 稍微有点不习惯。


module Main where

multiply :: [a] -> [b] -> [(a, b)]
multiply [] [] = []
multiply _ [] = []
multiply [] _ = []
multiply [x] [y] = [(x, y)]
multiply [x] (y:ys) = (x, y) : (multiply [x] ys)
multiply (x:xs) [y] = (x, y) : (multiply xs [y])
multiply (x:xs) (y:ys) = (x, y) : ((multiply xs [y]) ++ (multiply [x] ys) ++ (multiply xs ys))

equalPair :: Eq a => (a, a) -> Bool
equalPair (a, b) = fst (a, b) == snd (a, b)

makePair :: [a] -> [(a, a)]
makePair [] = []
makePair [x] = []
makePair [x, y] = [(x, y)]
makePair (x:xs) = (multiply [x] xs) ++ (makePair xs)

main = all ( (==) False )
( map equalPair (makePair [1,2,3,4]) )

这个程序思路很直接,就是先两两配对,然后检查这些对中有无相等的。但这或许不是最快的一个实现。

2007年2月5日星期一

Continuation的学习资源

2005年的时候基于Continuation的WebServer非常热,那时候也下了几篇论文来看,但是始终没有深入进去。今天刚好有半天闲暇,于是学习一下Haskell,用的是Yet Another Haskell Tutorial,前面几章看起来很容易,但是看到Continuation-passing style的时候,还是有点不太懂。在网上搜索了一下,找到一个很好的资源页面,推荐给大家。如果学习能有若干心得,会陆续张贴出来。

2007年2月4日星期日

增加学术资源

今天忙了两三个小时,给这个搜索引擎增加了不少大学和研究机构的链接。因为这一期ACM Queue讲了Transactional memory,我自己实验着搜索一下,效果还可以。因为主题比较集中,有时候相对于Google的网页搜索效果还好一点,比如搜索AOP或者IoC。

又把我原来收集的中文Blog尽数删除,主要是这些Blog不够严谨,无法满足我自己的搜索需要。

这个定制搜索引擎之开始

把我自己两三年来收集的近400个技术Blog进行了整理,创建了我自己在Google协作(Google co-op)上的一个搜索引擎,主题是程序设计方面的。其实我颇希望出现能在del.icio.us和Furl之类的网站上继续深加工的搜索引擎。它可以 把个人不经意间收集到的点点滴滴的知识会聚起来,然后再分享给大众。