MongoDB: Optimize index to avoid the scanAndOrder operation
Recently,I’ve got a performance issue with MongoDB index,it confused me and took me awhile to figure it out.let me try to get this issue straight:I have a compound index on multiple fields,but always result in a slow scan and order operation when performing a range query ,which means that the index is not being used for sorting.
For example,if I have an index “{a:1, b:1, c:-1}”,it works well for find({a:1,b:2}).sort({c:-1}), but very slowly for find( {a:{$in:[1,2,3]}, b:4}).sort({c:-1}),here’s the output of the explain plan:
goodbye sofia
sofia明天就要完成历史使命下线了。再见,sofia,再见,曾经的里程碑。感谢有你陪伴的日日夜夜,感谢参与过项目的每一个人,今夜,我独自在异乡的角落,为你们举杯。let’s remember that the old systems never die, they just fade away and age us.
PND will be replaced by Smartphone + LBS?
作为随身携带的个人导航设备(Personal Navigation Device),PND也许注定了只是为Smartphone +LBS的出现做过度的一种产品,还没怎么火起来就已经有些黯然失色,现在带GPS的智能手机越来越普遍,价格也越来越便宜,很少有人会为了导航功能再专门去买个PND。
而且日常生活中导航的使用率并不高,你并不是每天都在迷路,但是你或许每天都会想知道附近有没有让你感兴趣的人或者事。我们除了关心路线之外,更关心身边发生的一切,从天气预报、柴米油盐的价格,到和周围的人交朋友,和单纯的导航功能相比,基于地理位置信息的服务(LBS)有着更广泛的用户需求基础,更高的用户使用率和粘着度,同时也有更好和更多样的商业模式。
随着Foursquare的成功,国内也陆续出现了不少山寨Foursquare的LBS应用,比如玩转四方,蘑菇团,在哪等,在惊叹它们何其相似的同时,心里也觉得有些不是滋味,其实国内的企业不缺创新的想法,缺的是一个支持创新的土壤,在这样一个不尊重创新,缺乏秩序和道德底线,没有信仰的环境里,你实在是很难去做不山寨的事情。想起前段时间计算机世界上那偏标题为《狗日的腾讯》的文章,其实无论换了谁去坐到腾讯那个位置,多数也是会去做那些“狗日的”事情的。当道德的底线莫名的摇身一变,成为道德的制高点之后,这就已经不是哪个公司的问题了,而是一种现象,是我们生活的这片土地出了问题。
不过我还是很期待能够看到真正的有本土特色的创新的LBS应用出现,相信只是时间问题。就像最近看的一本书的名字:《The road less traveled-少有人走的路》,只要路在那,不管多难,就一定会有人坚持走下去。
35Ewave has upgraded to version 1.0.2
35Ewave已升级至1.0.2,由于我的时间安排上的问题,短期内Ewave不会再有重大升级。
这是我第一次尝试用pylons做正式的项目。pylons赋予的自由,让我可以享受编程的乐趣而不是被束缚。我喜欢python的优雅,也喜欢erlang的可靠,还有C/C++带来的控制感,而pylons则让我同时体会到了这三种感觉,就编程而言,没有比这个更美妙的事情了。这两个月的coding时光是一段愉快的回忆,每一秒对我而言都是享受。
Ewave对我个人而言也有很重要的意义,她也许是个转折,今后我不会花更多的时间在coding上了。在连着15年没日没夜的编程之后,我已经成了半人半机器的不谙世事的怪物,我要去实现我的关于重新找回生活的承诺,重新去感觉,去呼吸,去过我想要的生活,去找回迷失在虚拟世界的自己:生活不该只是无尽的typing。
Shrek Forever After
在广州休息的时候看了Shrek Forever After,当我以为Shrek和Fiona会延续上一集的美满,像所有童话故事的结局那样,“从此过着幸福的生活”的时候,Shrek的烦恼来了。
生活并不总是童话,在日复一日的扮演一个好爸爸,好丈夫和好朋友之后,平淡规律的生活变成了一种无法忍受的折磨:Shrek突然厌倦了这一切,他只想痛快的做回自己,做回那个无拘无束的怪物,哪怕只有一天。
可是这个看似并不过分的要求,却让他几乎失去了生命中最宝贵的一切:爱情、亲情和友情。他只有一天时间,来完成救渎,找回失去的幸福。
当时间的沙漏走到最后一刻,当Shrek渐渐融化,当Fiona的真爱之吻,让Shrek从噩梦回到童话的那一刻,我真想握着她的手,一起感受那一刻的幸福。那一瞬间给我的感动,就像是看到nemo最终找到了爸爸,就像是看到Isabelle走进了Wallace的帐篷,就像是看到Jane在历经了尘世的浮华之后,最终回到了傻小子阿甘的身边:这个世上还有什么比爱更美妙的事情?
噩梦醒来,童话仍然在继续,时间的沙漏还在不停的滴答,Shrek获得了重生,而我们,有多少人还在原地等待救赎?
EWave 开始进行beta测试
35 EWave企业微博(E偎)中英文双语版于今日开始进行为期二周的beta版本测试,之后将正式发布。感谢测试期间所有用户的热情参与,以及你们对于测试期间出现的问题的慷慨的宽容。
至目前为止已有五十七个城市,近六千家公司注册使用了ewave,用户人数为2万多人,消息总数为30多万条。下面为测试期间ewave用户的地理位置分布图:
| 整体分布 (中国/美国为主)。 | 国内用户 (沿海城市为主) | 美国 (California/Texas): |
感谢所有热心推广ewave的朋友,特别要提的是帮我RT的@dupola,看他的tweets是种享受,虽然很久没上twitter了,不过看到老朋友们还是觉得很亲切。
35 EQ 2.12 will be released next week
35EQ 2.12 will be released to public next week,It inherits the quality and features you were used to find in previous versions,it’s a fresher,and much more modern product with significantly improved performance,added by dozens of new benefits, such as new group chat features,embedded RSS feed reader,new skin system and many more…
repoze.who: perform login programmatically
It took me a while to find out how to perform programmatic login using repoze.who.here is the source code:
rememberer = request.environ['repoze.who.plugins']['cookie']
identity = {'repoze.who.userid': user.username}
response.headerlist = response.headerlist + \
rememberer.remember(request.environ, identity)
Sorry for the late thanks
很惭愧得获得了十佳火炬青年的称号,本来以为不会是我,因为我实在是没什么事迹好写的,那些对我而言都是日常工作,是生活的一部分,尤其是在看了本市其他候选人的资料介绍以后,更让我觉得我只是一个站在沙滩上,仰望着巨人们的孩子,能够站在一起已是荣幸。
Anyway,火炬还是来了,感谢我所在的团队,没有你们,我只是青年,不是火炬青年;没有你们,我只有可爱多,不会有火炬。
有不少同学想看看火炬是长什么样子的,其实火炬的实物是没有的,那只是个概念,我只有用可爱多冒充火炬来补偿下同学们的念头了。
MANIFOLD DESTINY - 谁证明了庞加莱猜想?
这几天看到了俄罗斯数学天才佩雷尔曼破解庞加莱猜想,拒领百万奖金的新闻。对比2006年中国数学界大张旗鼓的宣称是中国人彻底破解了庞加莱猜想的闹剧,两者形成了鲜明的对比。纽约客上发表的这篇文章MANIFOLD DESTINY(流形多舛的命运——一个传奇难题与解决者之争),讲述了这场闹剧背后的故事。
这件事情让这位俄罗斯的数学天才如此的失望,以至于他最终选择了退出数学界,用他自己的话来说就是“我不能说我被伤害了。有其他人做得更糟糕。当然,有很多或多或少还算诚实的数学家。但他们几乎所有人都墨守陈规。他们差不多还算诚实,但他们容忍那些不诚实的人。”
中国缺的不是天才,而是信仰;不是智慧,而是道德。