《三体/黑暗森林》

我看刘慈欣的上一篇小说是《乡村教师》。知道他的兴趣在于宇宙尺度的宏大叙事,但没想到他走到这么远了。三体整个小说的世界观,实在是令人震撼。一切都合乎逻辑,就如同“罗辑”这个主人公名字一样。为了避免剧透的嫌疑,我只好不多说了。向所有人严重推荐。看完黑暗森林,我直觉的和matrix进行比较,立刻得出了”matrix是一坨屎“的令我自己震惊的结论。要知道我是个为matrix写过影评进行仔细分析的粉丝。

update:睡了一觉,早上起来觉得这个结论有失偏颇,但整体上,三体比matrix较好的结论仍然是成立的。

3G = 个人直播时代来临?城管抢夺摄像机将成为过去?

3G马上就要来了,我想到的是,那么就可以实现视频对外直播了。

如果能有稳定200K/s的上传速度,那么完全可以使得用手机拍摄视频同步直播成为可能。视频信息的传播将无比流畅,看到城管打人,直接直播到网上去,无需再有录像带了。

前几天看到杨+的母亲上坟,同去的公民摄影,回来後车子被砸,摄影机失踪,录像带不翼而飞。有了在线直播,这种事情就不会发生了。

关于Twitter 升级的细节(Qcon London版本)

有关文档:http://www.slideshare.net/Eweaver/improving-running-components-at-twitter 这是QCon上用的ppt.

一位博客:Gojko Adzic记录了现场的一些演讲:

http://gojko.net/2009/03/16/qcon-london-2009-upgrading-twitter-without-service-disruptions/

 

翻译其中的一段.(较为匆忙,有错误请指出)

The upgrades included adding three more caching layers: a write-through vector cache of primary tweet keys with 99% hit ratio, a write-through row cache for tweets and users with 95% hit rate and a read-through fragment cache with rendered versions of different tweets for different clients with 95% hit rate. All these caches are based on memcached. Some other interesting optimisations introduced are that cache vectors have limited size (800 tweets back) and that rebuilding the home page for a user gets done by reading through the caches of users that he follows. As lots of people are rebuilding timelines based on the same users, this works very good according to Weaver. Another important upgrade was rewriting the queue middleware from scratch (moving from Ruby to Scala/JVM) and moving from a Ruby memcached client to a C client with optimised hashing. All together, this change allowed them to increase the web server performance from 3.32 requests per second without caching to 139.03 requests per second. Weaver said that API services work about four times faster than the web, which means that the API performance is roughly 550 requests/s [my calculation, not given during the talk].

升级包括了增加三层缓存:一个针对主要tweet key的write-through vector cache(直写向量缓存),有99%命中率;一个针对tweet和user的write-through row cache(直写行缓存),有95%命中率;还有一个针对不同客户端渲染版本的tweet的read-through fragment cache(直读碎片缓存),有95%命中率。所有这些缓存都基于memcached。还有其他一些有趣的优化,比如cache vector容量是有限的(800条tweet),以及依靠读取用户所follow的人的缓存来建立用户的主页。因为很多人都会用到热门人物来构建主页,据Weaver说这很有效。另外一个重要升级是从头重写了队列中间件(从Ruby转到Scala/JVM),并且从Ruby memcached客户端转到带有优化hash的C客户端。所有的这一切,让我们把web server的性能从无缓存的3.32次请求/秒提高到了139.03次请求/秒。Weaver说,API 服务比web要快4倍,也就是说API性能大约是550次请求/s(只是我的估算,并未在演讲中提及)。

The frond-end is completely written in Ruby/Rails, which remained the same before and after the upgrades. The middleware is now written in a mix of C and Scala, where the most important components are memcached, varnish (cache), kestrel (messaging, written in Scala) and a Scala comet server. They use MySQL for the data storage, which has not changed during the upgrades.

前端完全是用Ruby/Rails编写的,没有变化。中间件现在是C和Scala的混合体,最重要的组件是memcached , varnish(cache),kestrel(消息,用Scala编写)和一个Scala编写的comet服务器。他们使用MySQL作为数据存储,并未改变。

 

—————————

image

截图一张,看起来,其中的Vector Cache,应该是大批量Cache,因为提到了有800条tweet的限制,而row cache,可能是指单条的缓存。既然是用cache来构建主页的,也就是说基本是靠内存运行的,而非数据库了。

这个kestrel的源代码在github上有,的确很短。还没来得及研读。

秀一下新配的机器

这年头买机器真的越来越像买白菜了。因为要给老婆用,专门买了一只“美美的”机器。

看看这次我花了多少钱:

机箱:佑泽的一个小机箱。11cm宽,35cm高,36cm长。可以放大板大电源。严厉批评多彩,它的L102在网站上标注长度是36cm,而且是仅支持M-ATX的,实际到现场一看,的确只支持M-ATX,而且必须用专用小电源,峰值输出仅200W,但绝非36cm长,拿了个尺子一量,长达42cm! 居然做的还比佑泽支持大板大电源的机箱都还要大,非得严厉鄙视之。幸亏没有在网上买,要不然真是欲哭无泪了。

主板:昂达的N7AS。熟悉我的人都知道,其实我一直以来只用技嘉的板子。但因为之前认为小机箱还是必须用M-ATX的,而其P45没有M-ATX版型,因此放弃。经咨询NVidia的同学,建议用MCP7的芯片组,节省显卡成本。于是就选了以前从未用过的昂达。昂达的这块板子才600多,同样芯片组的华硕和技嘉的都要上千,实在性价比不高。

显卡:主板内置了一块9300。虽然还是不如现在的独立显卡级别,但总是比intel的破X系列显卡好太多了。

内存: 金士顿2G x2,才220块钱。真的是便宜到梨花带雨了。

硬盘: WD 1T绿盘。 6xx。

cpu: intel E7400。

原配的cpu散热器声音虽然不大,但是比较尖,很不舒服。很久以来,我对电脑的噪音就深恶痛绝,于是索性搞了个asus的海神75。没办法,这个小机箱宽只有11cm,扣除主板之后,留给散热器的净空只有10cm。海神装完后只剩1cm了。这是我能找到的最合适大小的被动散热器了。装上之后,果然沉静。晚上可以彻夜开了。

 

另外说一句,jobs对噪音也是深恶痛绝,他的imac就是没有风扇,也就是无噪音的。他真是太了解用户需求了。

 

好吧,这一切加在一起,才2800元。加上之前买的viewsonic 1962是1200元,一共才4000元。海神75另外加200元。

安装iDeneb失败。应该是对mcp7芯片组的支持还不好。 目前装的是个windows 7 build 7048,有空了还是折腾个hacktintosh比较好。

支持HDMI输出,试过了,用在淘宝买的山寨HDMI线,和我的松下42PZ800C配合非常好,逐点对应。放matrix 3 1080P,真的很清楚呀很清楚…

 

 

 

两个linux相关的小tips: MKS toolkit和cwrsync over ssh

首先,是在windows下工作,没有ls, ps,grep ,df,du等指令非常之不爽。cygwin和mingw用起来都不是很舒服。推荐MKS Toolkit.这儿有下载: http://www.itpub.net/451389.html

 

好了。这下子基本工具都有了。

C:\PROGRA~1\cwRsync>ps -ef | grep cmd
     cao   292  3712  0 21:54:51 CONIN$  0:00 cmd /c ""C:\WINDOWS\TEMP\216713917
hideit.bat" "
     cao  3176  3020  0 00:23:47 CONIN$  0:00 "C:\WINDOWS\system32\cmd.exe"
     cao  2496  3020  0 01:37:46 CONIN$  0:00 "C:\WINDOWS\system32\notepad.exe"
C:\Program Files\cwRsync\cwrsync.cmd

C:\PROGRA~1\cwRsync>awk
Usage: awk [-f scriptfile] [-Fc] [-v var=val] [script] [var=val …] [file …]

C:\PROGRA~1\cwRsync>netstat -na | grep 3306 | wc -l
      1

它还附带了一个ksh。不过bash用得多,ksh用起来不是很熟悉。

 

另一个工具就是cwrsync. 比如在你需要把本地编写的代码复制到服务器去试验执行的时候有用,比如同步到ec2执行的代码如下:

rsync -av -e "ssh -i d:\xxx.pem -l root" –delete /cygdrive/d/works/workspace3/RemoteRunTest s1.redsaga.com:/opt/RemoteRunTest

More Articles

网络化的高质量桌面自动变换工具 John’s background switcher

memcached session manager test for tomcat

daemontools 在ubuntu server 810下不能直接编译了…

NakuMart大火

完美的windows 下的linux虚拟机解决方案