lift, node.js, mochiweb,ngix-http-push 等等
by mawei.81 on Feb.01, 2010, under General
自从@caoxg 同学搞了人间网 http://renjian.com 之后,我就开始关注comet一类的东西。
这不关注不要紧,一关注就发现解决方案真是多啊。
用java的同学可以用tomcat,jetty,resin的各自实现,如果你愿意等等呢,还可以用Servlet 3.0 spec的规范。
用python的和ruby同学我就不需要多说了,这个也是一抓一大把,好多种不同的框架
JS也开始进入server side 编程语言行列了,自从有了node.js 之后,这个用v8 engine在server端应用的js server application无疑是09年最有创意的服务端应用了。
喜欢函数式编程的同学,comet的应用,才是更适合我们函数式语言使用的。
scala ,使用lift框架,太容易上手和使用了
erlang,使用michiweb,写erlang的web应用简直就和django一样的轻松易学,只是语言稍显晦涩
喜欢配置服务器的同学,你们不需要写程序也可以实现comet的功能,nginx一定是很多同学的最爱,性能好,开源,且源码精辟,又可以自己定制module.nginx-http-push module 的source就在github上,赶紧去clone吧
然后就是HTML5的大作了,websocket,这个我还没有尝试过,准备明天来尝试一下。
这么多的solution,我都不知道用哪一个了。
java的应用固然是首选,只是有点huge了。
python的和ruby的可以尝试用,应该问题也不大
js自然不能当回事,虽然有说亚洲最大的sns社区plurk采用node.js 改写他的系统,这个我也不敢相信。
scala 的lift 更适合web使用,对于我们的当前业务和给客户端,wap服务来说好像也有些问题
erlang,这个要高手才能玩
nginx的module,不敢玩啊
websocket,等html5普及了吧
Nexus one 购买记
by mawei.81 on Jan.27, 2010, under android, google
某同学正好出差去美国,于是看看有什么要买的,于是就挑了一支nexus one。
后来此同学要在米国辗转游学,且Google只提供webstore销售方式,于是便转为DHL至HK。
综合考虑我推荐各位如果需要买nexus one的,请选择HK,这是最划算的,当然我讲的是大陆居民。
首先连上VPN,如果不连上VPN你是无法购买的,Google webstore通过你访问的IP地址来验证你的居住所在地。连上vpn之后可以顺利的进行购买了,第二个就是刻字,webstore提供在nexus one的腰带上刻上你喜欢的文字,本来我倒是想刻的,但是经过在网上浏览前人的购买经验和心得之后,我放弃了,刻字不但会延迟三天发货,也无法退货。我拿来也是开发和把玩,就放弃了这个免费的福利。webstore的支付方式自然是google自家的checkout,先前我有购买过android developer和android dev phone 1,所以这一步自然就不用设置了。顺利付完费,填写送货地址之后就等吧,目前webstore支持送货到4个国家,美国,香港,台湾和英国,哦对了,是四个国家和地区,要不然咱们伟大的祖国的有关部门该有意见了。
下面是DHL的tracking history:
Google webstore是 Order date: Jan 11, 2010 9:22 AM GMT 确认订单和扣款的

大家看tracking history应该能看到有个送货人不在,这里要赞一下,DHL在港埠周六依然派送,实在是很棒。
然后就等到朋友从HK回大陆了,这时候也没那么冲动了,等就等吧。我已经开始喜欢ipad了。
昨天下午打电话到顺丰问过,顺丰说昨晚可能太晚了,让我别等了,今天上午送过来。今天一大早过来一查,竟然昨晚送过来,说我不在,也不知道真的假的。

现在就在等顺丰了,单反的UV镜我都拆下来擦过了。
机器把玩了一会儿,总的感觉是速度很快。

首先是开机同步google account的信息,我用的联通3g卡,默认是用3gnet APN,但是我这里连不上,于是手工增加了uninet,同步成功,开始用market装了我自己开发的应用toggleslient,这是我为数不多的应用,我基本都属于玩票型。
更多的大家点击图片看我的flickr吧。
基于ipad的想法
by mawei.81 on Jan.27, 2010, under General
具有轻量运算能力的网络显示设备
我们都曾有过将PC的某个文档打印出来,用来分享给好友
我们也曾有过把笔记本电脑带到任何地方,只是为了给人展示某些东西
因为人们需要便携,所以有了laptop,因为人们觉得他不够方便,所以有了netbook,netbook是个中国特色的产品,apple有了ipad。
而手机应用也提供了很多能够让我们同步pc的东西,支持我们阅读office文档,阅读,浏览器,邮件,twitter等等
这一切都是为了让我们生活更方便。
其实我们需要的只是一个屏幕,一个能有一定运算能力的屏幕。
手机作为all in wonder的可能性很小,电力供应,尺寸,通话功能的可靠性。
当我们需要开会讨论一个问题的时候,我们不再是坐在会议桌旁,一起看着投影。我们大家围坐在一起,看着我们的这块屏幕。你甚至可以对他指指点点,他将记录下这一切的行为,等到你回到workstation的时候,一切将被切换回你的工作环境。
当我们需要将一份菜谱从书房带到厨房时,你不需要拔掉电源,抱着laptop,也不需要打印成纸张,你只需要将这份菜谱,无论他是网页还是一个文档,尽管拖曳到你的屏幕上吧,然后拿着屏幕到厨房,你可以把他挂在你可以挂的位置,以便你可以按照菜谱烹调出你的美味。
如同avatar电影中展示的一样,我们可以将当前应用,切换到我们的手持移动设备上,这将更便于我们工作。
如同我们的游戏人物,每人获得一个palm,在每次过关之后接驳基座获取新的游戏数据,在行进的任务中随时使用。
平板电脑屏幕将和投影眼镜一起成为我们生活中的新的显示设备。
Google 搜索结果页面隆重增加twitter.com 结果
by mawei.81 on Jan.20, 2010, under General
Google 搜索结果页面隆重增加twitter.com 结果
因为收到DHL邮件,nexus one已被香港的朋友签收了。
于是就google一下nexus one,想看看有没有什么新闻可看。
结果可隆重了,结果页面里赫然列了一大堆结果来自twitter.com 的,而且还是不停的在更新,可以手动pause的。
这个也太隆重了吧。
[强文转载]百度首席产品设计师孙云丰评论谷歌退出中国事件
by mawei.81 on Jan.13, 2010, under General
我这个版本,是从霍炬的blog转来的。
原帖他自己删了,CSDN转载的 http://news.csdn.net/a/20100113/216459.html 被百度的人要求删掉,所以我就在这里再多备份一次。
声明:本文由 @dupola 备份。现原文已被删除。原页面截图在此 http://tweetphoto.com/8630311 ,感谢霍炬 @virushuo 帮忙。
update2010年1月13日20:22:51 又有截图:http://www.flickr.com/photos/46280976@N08/4271559306/sizes/o/ 感谢 @Bamind 提供。
关于谷歌退出中国_在地铁站 – http://hi.baidu.com/whomi/blog/item/2b1001e9be877834b80e2df6.html
作者:百度首席产品设计师孙云丰
google宣称要退出中国,所证明的,恰恰不是市面上的那些g粉所宣称的那样,google是个”人权斗士”,而刚好反了过来,正好证明google是个市侩分子。
google 的首席法律顾问的调调让我感到恶心。因经济利益退出,就直白白的说好了,把自己涂脂抹粉一番,还煞有介事的提到google被中国人攻击,中国异议分子的 Gmail信箱被攻击,把这些事情作为退出中国的铺垫,这种论调是侮辱中国普通老百姓的智商,但还真有可能迎合那帮目空一切,但从未到过中国、对中国没有丝毫了解,却又喜欢对中国说三道四的西方人的假想。
只提一个假设,如果谷歌占据了中国80%的搜索市场份额,google的高管,还会这么高调的宣称要do no evil,从中国退出吗?
整个事情给我的唯一感受,就是恶心。
科普一点:
信息不对称是造成社会不平等最主要的原因之一。而对普通百姓最为关键的信息,并非中南海秘闻,而是最为常规的经济、文化、科技等领域信息。尽可能的为普通老百姓对这些领域的信息提供便捷,并消弭信息占有的不对称,这是搜索引擎存在的最大社会政治意义之一。
从这个角度而言,尽可能的设法为百姓提供便捷的信息获取技术服务,提供切实的价值,而不是挂羊头卖狗肉的宣称自己do no evil和政府撕破脸皮搞壮烈,才是一种真切的负责态度。找台阶下可以,但不要拿一个高管制国家的民众感情来做台阶,这是极其不道德的。
政治环境短期内是无法改变的。在中国,每个企业或者个人,都必须戴着镣铐跳舞。其实在别国一样,只是程度之别。但这是现实。在有限的条件下,尽可能的提供自己勉力而为的一份子,才是一个真切的做企业、做人态度。
在我博客上乱喷的兄弟,甚至还有搞笑的喷我five毛党的,都回家好好的念点书,再回来喷吧。希望看得见点水平的,而不是除了咒死爹死娘就不知道说啥的。 80年代的愤青,可不是现在这副衰样儿。
————–
以上是作为一个曾经的忠实google用户而说的,和百度无关。市面上沾沾自喜于了解一点google的产品技术细节将google奉为道德楷模而自封G 粉的兄弟,请勿跟帖瞎喷,你们根本不懂什么叫搜索引擎,什么叫自由人权。
————–
btw,评论关闭。要喷到twitter上喷吧。我的地盘不欢迎。
简评:如此脑残,世所罕见。既然有胆,就该留着。逼CSDN删帖,更显没种。一个没种的公司,肯定会有没种的首席产品设计师,果然是绝配!
SOA的节点监控与服务状态
by mawei.81 on Jan.13, 2010, under General
业务平台采用了新的SOA思想
我们将原有的业务进行梳理抽象,获得独立的服务,给服务编号,命名,部署在应用服务器之上,应用服务器的服务可根据需求任意部署,添加与减少,在服务适配服务器上进行服务请求的分发,前端业务应用web服务器只负责组装服务点的请求。
现在需要做的是所有服务的运行数据监控与报表,包括服务请求次数,运行时间,等等,另外要能监控到多个节点服务器的运行状态,系统负载,线程消耗。可以管理增加和暂停节点服务,以做到无缝升级应用。
期待我的Nexus One
by mawei.81 on Jan.11, 2010, under General
Google Nexus One上市了
不送到大陆,朋友在美国到处游荡,居无定所
好不容易找了个朋友
朋友又找了个朋友
哇,竟然是一个高材生美女
Jojo zou
无聊的人可以去google一下
哥伦比亚大学的
付完费了 529美金
运费30美金到HK
国内的运费未知
期待中
三季人
by mawei.81 on Dec.13, 2009, under General
周五参加一个社区的交流活动,唐 同学给我们介绍了一个名词 “三季人” ,具体的解释我也不去多说,大家可以去google。
从我的角度出发,我是某些方面的三季人。而每个人也都有成为一个三季人的可能。如果不是,那必定是圣贤了。
凉风有性
秋夜无边
亏我思娇的情绪
好比度日如年
虽然我
不是玉树临风
风流倜傥
但是我有
宽广的胸怀
和
强健臂弯
做一个识得四季的人
不要视金钱如粪土
也不要拜金
我用来面试屡试不爽的一道题
by mawei.81 on Dec.07, 2009, under General
The Problem
Definition. Given the real vector x[n], compute the maximum sum found in any contiguous subvector.
An Example. If the input vector is
26 then the program returns the sum of x[2..6], or 187.
31
-41
59
26
-53
58
97
-93
-23
84
From Programming Pearls, Copyright 2000, Lucent Technologies Pearls-8-2A Cubic Algorithm
Idea. For all pairs of integers i and j satisfying 0≤i≤ j < n, check whether the sum of x[i.. j] is greater than the maximum sum so far.
Code.
maxsofar = 0 for i = [0, n)
for j = [i, n) sum = 0
for k = [i, j] sum += x[k]
/* sum is sum of x[i..j] */ maxsofar = max(maxsofar, sum)
Run Time. O(n3).
From Programming Pearls, Copyright 2000, Lucent Technologies Pearls-8-3
A Quadratic Algorithm Idea. The sum of x[i..j] is close to the previous
sum, x [ i.. j −1 ]. Code.
maxsofar = 0 for i = [0, n)
sum = 0 for j = [i, n)
sum += x[j] /* sum is sum of x[i..j] */ maxsofar = max(maxsofar, sum)
Run Time. O(n2). Other Quadratic Algorithms?
From Programming Pearls, Copyright 2000, Lucent Technologies Pearls-8-4
Another Quadratic Algorithm
Idea. A ‘‘cumulative array’’ allows sums to be com- puted quickly. If ytd[i] contains year-to-date sales through month i, then sales from March through September are given by ytd[sep] − ytd[ feb].
Implementation. Use the cumulative array cumarr. Initialize cumarr [ i ] = x [ 0 ] + . . . + x [ i ]. The sum of the values in x [ i.. j ] is cumarr [ j ] − cumarr [ i − 1 ].
Code for Algorithm 2b.
cumarr[-1] = 0 for i = [0, n)
cumarr[i] = cumarr[i-1] + x[i] maxsofar = 0
for i = [0, n) for j = [i, n)
sum = cumarr[j] – cumarr[i-1] /* sum is sum of x[i..j] */ maxsofar = max(maxsofar, sum)
Run Time. O(n2). From Programming Pearls, Copyright 2000, Lucent Technologies Pearls-8-5
An O(n log n) Algorithm
The Divide-and-Conquer Schema. To solve a prob- lem of size n, recursively solve two subproblems of size n / 2 and combine their solutions.
The Idea. Divide into two subproblems.
Recursively find maximum in subvectors.
Find maximum crossing subvector.
Return max of ma, mb and mc. Run Time. O(n log n).
a
b
ma
mb
mc
From Programming Pearls, Copyright 2000, Lucent Technologies
Pearls-8-6
Code for the O(N log N) Algorithm
float maxsum3(l, u) if (l > u) /* zero elements */
return 0 if (l == u) /* one element */
return max(0, x[l])
m = (l + u) / 2 /* find max crossing to left */ lmax = sum = 0 for (i = m; i >= l; i–)
sum += x[i]
lmax = max(lmax, sum) /* find max crossing to right */ rmax = sum = 0 for i = (m, u]
sum += x[i] rmax = max(rmax, sum)
return max(lmax+rmax, maxsum3(l, m),
maxsum3(m+1, u))
From Programming Pearls, Copyright 2000, Lucent Technologies
Pearls-8-7
A Linear Algorithm
Idea. How can we extend a solution for x [ 0 .. i − 1 ] into a solution for x [ 0 .. i ]? Key variables:
maxsofar
maxhere
I
Code.
maxsofar = 0 maxhere = 0 for i = [0, n)
/* invariant: maxhere and maxsofar are accurate for x[0..i-1] */ maxhere = max(maxhere + x[i], 0)
maxsofar = max(maxsofar, maxhere)
Run Time. O(n).

