May 31st, 2009 by 张磊
谷歌推出购物搜索,引发了一番热议。翌日,我读到一篇雄文:《Google购物搜索把百度逼上电子商务的绝路》,文中绘声绘色说:
半年时间过去了,有啊非但没有超过淘宝,对拍拍也望其项背(blogkid注:此处应为“难以望其项背”)。但事情还没完,当百度进军C2C的时候,他只看到了被自己伤害的曾经最大的合作伙伴之一的阿里巴巴的愤怒之情,却没有看到站在背后的Google的窃窃偷笑。
文中说“曾经最大和合作伙伴之一的阿里巴巴的愤怒之情”,只怕愤怒轮不到阿里巴巴。阿里内部不许用QQ,淘宝内网封掉了百度, 淘宝封掉了百度的爬虫,阿里对竞争对手的打击无所不用其极;相比之下,在百度的内网能下载到阿里旺旺,公开表达一下对Google技术的赞赏也不用担心价值观不合格。如果阿里都有资格愤怒,百度和腾讯早该气炸了。话说回来,Business is Business,大家凭本事吃饭:不管是阿里的愤怒(即使真有),还是九城的愤怒,都不会对战局有什么影响。
回到购物搜索,大家对谷歌的购物搜索赞许有加,但很多人都是看着谷歌推出这产品就叫好,顺便贬低一下百度;有人谈得更深入,说谷歌选择了做桥梁,而百度选择了自己玩,于是谷歌更高尚。其实,对购物搜索没必要这么狂热。
1、购物搜索,其实尴尬
在几年前曾有过一批做比价购物的网站,后来一个个都销声匿迹。最近兴起的购物搜索,骨子里还是比价购物的思路。但对现在的购物搜索来说,淘宝有毒。试想,如果搜索结果里包含了淘宝的商品信息,那就只能任由淘宝占据90%的搜索结果——这和直接在淘宝搜索已经没啥差别,而且在淘宝搜索会更有时效性;如果搜索结果不包含淘宝的商品信息,那只能算是个不完整的购物搜索,因为淘宝上的商品信息,比其他所有国内店铺加起来都多。
keso说淘宝有毒,不是没有道理。
2、谷歌购物搜索,不及有道
谷歌和有道的购物搜索,在对淘宝的处理上做了不同选择:谷歌全盘接纳淘宝,而有道只选择了有更完善保障的淘宝商城。

在谷歌随手搜了E71,光是淘宝上的信息就有25条。价格区间从1630到3800。

在有道搜索E71,一共有26条信息。价格区间从2199到2796。
从信息呈现的角度来说,有道优于谷歌。
有道对商家的遴选有针对性。用huairen的话说:“有道的解决方案很简单:锁定‘商城B2C’,以开发票,保修等。。。个人觉得蛮好的”。
从选择商家的角度来说,有道优于谷歌。
更无需比较二者的使用细节、域名设置等。总体来说,谷歌的购物搜索,不如有道。对这么个产品大可不必如此兴奋。Google和谷歌都没少做失败的产品(当然,这没什么不光彩的),何必抢着捧谷歌的臭脚呢。
3、购物搜索的明天,不如归去
Google Base允许提交商品信息,有道上线不久也开放了提交数据的API。没错,不就类似于百度的阿拉丁嘛,只不过百度做的不是购物搜索罢了。但我认为,随着搜索引擎回归工具化,购物搜索的最终形态,还是整合到统一的搜索中。就像Google的Universal Search、雅虎的Onebox。
百度的搜索结果里会出现有啊的商品信息,我觉得挺好。搜索E71的人,也许真的是想买E71。推广自己旗下产品也无可厚非,google还推自己的picasa呢。另,谷歌的购物搜索没收录百度有啊的商品,不符合谷歌的风格。毕竟,谷歌可没少给百度知道、百科和贴吧贡献流量。
延伸阅读:百度为什么不做购物搜索
May 22nd, 2009 by 张磊
下午去了趟betacafe,坐公交到翠苑五区,步行到通普路和升技路的交叉口,就到了。

里面人不多,但窗口已经坐满了。一进去就听到鸦总的声音,循声而去。只是现在眼神很差,两米之外就看不清人——居然没认出思践。
我点了一杯Cappuccino,很快上来。杯里一片牛奶叶子,想起“矮纸斜行闲作草,晴窗细乳戏分茶”。

邻座哥们回头,问,我们是否以前见过。他是顺网的蚂蚁,顿时让我想起livid。我们以前确实没见过,不过也短暂聊了一会,现在到beta咖啡的人,该都是一个圈子的吧。
店长是个活泼的姑娘,总有些流行词汇从她嘴里出来。在大辉和坏爷的关照下,我桌上多了一盘西瓜。
蚂蚁同学不停地把魔方拼好,然后拿拼好的魔方换我桌上打乱的魔方。

以前alipay的同事到咖啡馆开会,有以前的老板,以及老板的老板。只是眼神真的太差,根本认不出人。后来居然用twitter和前同事联络。这些天休息不好,用眼过度,得歇歇,少写代码多泡妞吧。
临走,还获赠两个咖啡杯,一个是给丁昊的。还是不发照片了,保鲜。

晚上,和Fenng老师、周爱民老师在许府牛杂小聚,一起的还有两位老师的另一半。长三角的人才该被阿里给淘干了。
May 17th, 2009 by 张磊
前几天,我收到了这样一条留言:
你好,我是DMOZ开放目录 (World: Chinese Simplified: 社会: 人物: 个人网站: 博客)目录的编辑员.由于现在本目录内网址比较混乱,为便于管理特开一个QQ群:256329,如看到信息看尽快加到群里,本人会在近期内清理一些达不到 要求的博客。若不在群里的,博客被目录删除的,将不再单独通知。
可以理解,随着写blog的人越来越多,一些从前经常写的人,现在不写了,目录难免混乱——但也不至于用个QQ群来管理吧,Jason同学也在twitter上狠骂。出于好奇,我申请加入了这个群,几天下来,发现和个低级的站长群没啥两样,成天各种各样的换链接消息;有人在发自以为是的adsense、阿里妈妈广告优化策略。我不胜其扰,今天终于退出了这个群。
说实话,我根本不在乎被DMOZ收录以后在Google百度能有多大的权重提升,看重的是对自己多年努力写作的认可。我一直认为DMOZ是个纯洁的东西,只是到了中国人手里情况就有了改变,可谓特色鲜明。引用DMOZ的一段话:
我们为使ODP成为为网民提供的一个公平、公正的资源而付出大量的力量。ODP不应该是一种推广或不公平地推广网站的一种手段。主要为推广自己或客户的网站的编辑员及/或通过更改网站条目歧视他们的竞争者的编辑员可能会在未经事前通知的情况下被除名。
想起来,我该在群里问问,王建硕在不在。
May 14th, 2009 by 张磊
这又是一篇话题广告(其实我已经很久没写话题广告了)。
今天介绍的creditcardlowdown.com是一家提供百余种信用卡申请资料、引导的网站,据说支持“Visa, American Express, Discover, Mastercard and many more”。联想到吴军的文章,难道后面的many more都是来自GE?我猜通过它的引导去申请信用卡,它会有不少收入,不过国内应该是无法申请。
特别地,这家提供了Discover Credit的申请指导,以及每种卡的详细介绍。这一点做得有点像国内的我爱卡。当然,我爱卡的规模更大。而creditcardlowdown.com,只是个用wordpress搭建的小网站罢了。今天和朋友聊起来,国外的互联网干净、大小网站都有钱赚,这是很棒的。
May 10th, 2009 by 张磊

图片来自优酷。相关信息,请翻墙后用Google.com搜索。
作为一个在杭州生活多年的人,我有很多话要说;作为一个每天都要走斑马线过马路的人,我有很多话要说。但字斟句酌,终究说不出口。想起鲁迅的文章:
不是年青的为年老的写记念,而在这三十年中,却使我目睹许多青年的血,层层淤积起来,将我埋得不能呼吸,我只能用这样的笔墨,写几句文章,算是从泥土中挖一个小孔,自己延口残喘,这是怎样的世界呢。夜正长,路也正长,我不如忘却,不说的好罢。
幼时读来,总难理解这“埋得不能呼吸”的感觉,如今却是感同身受。
北大已经不是当年的北大。浙大,你准备好了么?
May 5th, 2009 by 张磊
今天收到之前在扬州电信托管的服务器,没想到是一个很大的箱子,机器也很沉。因为我已经在Linode买了VPS,于是拿到这台服务器以后我开始思考用来干啥,并在公司插上电源显示器观摩了一下。
很快,我意识到为这台没用的服务器花掉的时间已经影响到我思考别的事情,这样做不值得。立马决定转让这台服务器。
机器情况:
| 机箱 |
1U |
| CPU |
Intel E2180 |
| 内存 |
1G DDR2 800 |
| 硬盘 |
160G SATA |
接口齐全,但用得着的也就是网线端口和USB了。E2180的CPU在去年还算不错;内存1G是瓶颈,但DDR2内存早已是白菜价,添一个2G的内存条也就是一百块钱。这服务器挺适合不大不小的网站。
价格:¥1688
支付方式:支付宝或者网银转账
送货方式:您如果在北京最好办;如果您在外地,我用宅急送您给送过去。
价格还可以商量,但希望您是真正需要才联系我,不然拿去只会浪费时间。如果有朋友(特指咱俩相互认识,即使没见过面也在推特上比较熟悉的那种)需要,我愿意免费赠送。
我的联系邮箱:zhanglei909#gmail.com (把#替换为@)。
UPDATE:服务器已由Fenng接手。鉴于此,我原本计划的额外赠送Fenng的裸奔艳照,也可以免了。
May 4th, 2009 by 张磊
51放假我没能消停,放在Linode(Linode服务介绍)的服务器出状况了。看起来负载太高(load average 长期高于3),观察发现CPU频繁处于IOWAIT状态。而在Linode后台的统计图显示,IORate持续高于3k。要知道,Linode默认IORate高于300时就会发邮件报警。
开始我还没意识到问题的严重性。直到去查询服务器上Rails应用的日志,发现处理一个请求最长居然要70秒(!)——平时只要300ms左右。一下懵了,赶紧查问题。iostat显示对swap的读写非常多,同一时刻等待io阻塞的进程达20个。考虑到服务器不只跑着 nginx/mongrel/mysql还跑着一个sphinx,我改了一下程序,减少了对sphinx的查询。情况有所好转,但依然不稳定:IORate会突然冲高,之后回落。
只得在Linode发一个support ticket,描述情况后,那边的技术支持向我要free -m的输出和vmstat 的输出。提交了输出后,那边邮件回复,咬定我的服务器发生了swap抖动。全文如下:
You are quite a bit into swap, and it appears your Linode is swap thrashing. You’re either going to want to tweak the app(s) that are consuming RAM or upgrade to a larger Linode plan. As a general rule, we don’t recommend swap sizes larger than 256MB.
我的RAM有540M,设置了1G的Swap。从我些许经验来看,应对每天3w左右的请求(Rails处理的结果为200的动态请求有1.2w),540M内存怎么也够了。所以犯不着升级服务器。新难道是Swap太大?按说内存的2倍也不该是问题。我尝试着把Swap设置到300M,重启服务器,暂时稳定了一会,又开始“抖”。一咬牙,设置为256M,再次重启,居然稳定了。Linode的技术支持很赞,据说还支持中文。
我重新在程序里开了对sphinx的查询,io情况没有明显变化。
今天是54,上午可以休息。早上起来忍不住看看服务器,居然又在“抖”了。通过查看后台统计图,发现从凌晨一点左右就开始不正常,而这时应该是访问最少服务器压力最小的时候(当然,不排除爬虫来得比较猛烈)。此时的Rails应用,处理一个请求大概需要10秒。我很快想到mongrel的锁机制可能有问题。Rails本身不是线程安全的,于是Mongrel在处理请求时,在调用Rails的分发器之前就加了锁,直到Rails处理完这个请求。这个锁的粒度很粗。
引用Shining Ray的结论:假设一个Mongrel当前的请求被阻塞在Rails的代码中(比如一个较长的查询),后续的请求就会被阻塞,假如阻塞的时间足够长,导致队列中请求满了,那么接下来就是出现大量时间花费在上下文切换和锁的争用上(来自《浅析Ruby On Rails部署方案》)。之前在用apache+mongrel的时候,都会把并发数量设为1,这样可以规避掉锁的问题;但换用nginx以后,并未做相应设置。引起Swap抖动的元凶,原来是Mongrel那只粗大的锁。
想到这茬,我马上停掉mongrel换用了基于EventMachine的thin。IO瞬间降下来了,请看图片:
Mongrel的作者已经不再维护Mongrel,这次我遇到的问题,可以算是Mongrel的硬伤。
参考资料:http://docs.google.com/Doc?id=ddcvzh74_28f9xppqfh
May 1st, 2009 by 张磊
在京忽闻杭州事,上网自此需实名。
却看网友愁何在,算账当找苹果Wang。
白日上网也犯法,顶风作案多思量。
和谐维稳衷一是,全民健身学翻墙。
——————————————–
杭州!杭州!
三月独乘和谐号,
进京已有一月鸟。
回首向来萧瑟处,
实名上网头一遭。
相关链接:http://news.163.com/09/0501/04/5870CSAB000120GR.html