2013年3月14日星期四

纪念谷歌·瑞德君

今天惊闻瑞德君只有三个半月的寿命了,心中无比沉痛。

瑞德君曾是我的良师,也是我的益友。近几年来,特别是在二〇〇八年左右,从瑞德君那里读到了很多好文章,关注了很多技术界的牛人,开阔了眼界,增长了知识。

随着推特君、微博君的声名渐隆,我每天花费越来越多的时间在阅读别人的微博上面,渐渐疏远了瑞德君。直至今日,我竟发现上个月仅仅去瑞德君处阅读一次而已。

然而没想到,我个人的疏远,竟成了瑞德君离去的原因的万千分之一。而谷歌的黑手终于因此伸向了瑞德君。

死亡是个结束,更是个开始。我相信瑞德君的灵魂不灭,服务大众的精神永存。

瑞德君永远活在我们心中。

2013年3月6日星期三

在Amazon EC2上配置VPN服务器

前几天搞了个EC2的micro instance,免费一年,配置较低,用来翻墙正合适。不过每月流量只有15G,只能省着点用了。

最简单方便的方法当然是用ssh做代理了。这种方法的坏处是打开国内和国外网址时需要在浏览器中不停切换是否使用代理,这虽然有点麻烦,不过还可以忍受。

但让人不能忍受的是——有些软件不能设置代理,所以搞个VPN服务器还是有必要的。

------

先讲怎么在教育网ssh ec2吧。

事情是这样的:
教育网比较奇葩,国外流量需要收费,我等穷人没钱包月(¥90/月),于是只能访问国内IP。
所以开通ec2后,想直接访问是没门的。
不过教育网也有一个很大的好处,就是ipv6流量是免费的——不需要花钱包月,ipv6的地址可以随便访问,当然包括国外的ipv6地址。

=>所以,如果不想花钱包月,又想访问国外网站,同时还能翻墙,不受墙的干扰,唯一的方案是,通过ipv6连接国外的vps来翻墙。

但是没法直接通过ipv4访问ec2,该怎么办呢?
更要命的是,ec2不支持ipv6.

我不禁陷入了沉思……

看到网上有链接说通过he的6to4来搞,很深奥的样子,没耐心看下去。

后来,我发现了ELB(Elastic Load Balancing)。ELB这货本来是给高富帅用的,用来在多个instance之间做负载均衡。最重要的是ELB是支持ipv6的,而且每月15G流量,已经包含在ec2的免费套餐里面,可以将连接转发到各个instance上。

然后我就试了一下。不试不知道,一试真奇妙。通过设置TCP转发规则,可以将到ELB的请求转发到ec2的instance上,这样就很容易地解决了通过ipv6 ssh到ec2的问题。

------

然后是搭建VPN

主要有三种VPN:PPTP、L2TP、OpenVPN。

刚开始搞了个PPTP的VPN,用了这个gist,很快就弄好了。坑爹的是,当我想通过ipv6连接时,windows告诉我说PPTP不支持ipv6,尼玛!

然后试L2TP,用的是这个。 很快又发现悲剧了,因为ELB不支持UDP转发,摔!

最后只好求助于万能的OpenVPN了。因为OpenVPN配起来比较麻烦,所以刚开始才会想去搞PPTP。但事到如今只好祭出OpenVPN这个大杀器了。
主要参考了这篇文章:Howto setup OpenVPN server
当然这篇文章也漏了一些细节,
比如:配置完server之后,应该启动openvpn服务,原文没提到。
因为openvpn没启动,ifconfig的结果里面就不会有tun0这个设备。所以当时我在“Setup NAT”这里卡了壳,半天才反应过来是怎么回事。

另外对天朝用户比较重要的几个选项:
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 172.16.0.23"
push "dhcp-option DNS 8.8.8.8"
用来绕过DNS污染。
刚开始没开这几个选项,结果导致连接上后仍然上不了被墙的网站。


如果比较懒的话,想在所有设备上用同一个客户端配置文件,则需要打开这个选项:
duplicate-cn
另外有几篇文章可以参考一下:

然后是对应服务器配置修改客户端配置文件,注意cipher选项要和服务器一致。
客户端协议应该是tcp6,不是tcp,更不是udp。
有问题看日志,对应微调一下。
客户端我用的是yegle修改的支持ipv6的openvpn客户端。貌似2.3版的openvpn支持ipv6了。
服务器版本用的是Amazon库里的,2.2版本。

后来就成功连上了!
翻身农奴得解放!
感谢党,感谢国家!

回想一下,感觉很奇葩,客户端用的是tcp6,服务器是tcp,中间经过了ELB,最后竟然连上了,并且能正常工作,不可思议。所以要表扬一下OpenVPN和Amazon。

另外希望Amazon EC2能够早日支持ipv6,就省了这许多麻烦了。

- END -

2013年2月25日星期一

骚年D对《少年Pi的奇幻漂流》的奇怪书评

-*- !有剧透,慎入!-*-
-*- !有剧透,慎入!-*-
-*- !有剧透,慎入!-*-
-*- !有剧透,慎入!-*-
-*- !有剧透,慎入!-*-


这本书是在回家的动车上开始看的,断断续续看了三分之一,直到前几天寒假结束回到学校,又花了两个晚上挑灯夜读,才看完。

前面一段比较boring,我边看边想,什么时候才到老虎啊。

但是其中比较有意思的是作者对动物园的“辩护”。作者从动物的角度解释了为什么动物们“放弃自由”在动物园里安居乐业,即使有机会逃跑也不会逃跑。因为动物有很强的地盘意识。在它们看来,动物园能够提供食物、饮水、保护、休息的地方等等,因此它们就会像在野生环境中一样将那里作为自己的地盘。在它们看来:“自由”是神马东西?可以吃吗?

然后作者说:“宗教面临着同样的问题。关于自由的某些错误观念使两者都遭了殃。”

在书的第二部分,Pi的奇幻漂流终于(上帝保佑那些死去的人们)开始了。
这部分比较精彩,各种对海上生存、海洋动物的描写。特别是开始的时候几只动物互相残杀的描写,非常血腥和紧张刺激。

我边看边想,多么美好的故事啊……人类多么坚强伟大啊,大海是多么奇异瑰丽变幻莫测啊……

——直到我看到了第三部分,看了故事的另一个版本。

尼玛,毁三观啊有木有!

原来在第二个版本中,四只动物的互相残杀变成了四个人的互相残杀,动物的互食变成了人的互食。原本我们并没有太注意的情节忽然变成了最重要的部分,一个问题突然变得重要了起来——到底哪个版本是真的?

这才是作者的目的吧, 先让读者堕入温柔乡里,然后再一刀扎得我们鲜血淋漓?!

我想第二个版本是真的——我“理性”的大脑告诉我。虽然我觉得心在颤抖。
否则Pi怎么会编出来这么一个残忍的故事呢?四个人和四只动物怎么会正好对应上呢?

我想真正的故事是这样的:

四个人在一个救生艇里,互相残杀,先是法国厨师杀掉了华人水手和Pi的母亲,然后Pi杀掉了法国厨师。无疑这是个非常残忍的事情,特别是对一个十几岁的少年来说,出于一种自我保护的本能,在漫长的海上生活中,Pi 幻想了另外一个版本的事实,即故事的第一个版本。

一切都是选择。Pi选择对人们讲另一个故事,只有动物的故事。调查员们在报告中也选择去相信有老虎的故事。
有时候事实并不重要,真相永远不会大白于天下 ,关键是你选择去相信什么。

这种选择反映了人性。就像动物选择呆在动物园,或者逃出去再返回来。

这本书的序言里面说:“我有一个故事,它能让你相信上帝。”
这本书同样也是关于宗教的,书中处处有关于宗教的句子或情节。 比如上面的几处引言,比如Pi同时信三个宗教:印度教、基督教、伊斯兰教。书中详细讲述了Pi信仰这三个宗教的过程,还有成年Pi家中的摆设。甚至还让三个宗教的传教士相遇然后互相攻击。

不过我没发现这个故事能让我相信上帝。我想宗教信仰其实也是个选择问题,信则有,不信则无。目前为止,我还是个无神论者。
或许对于这本书的宗教观点还能有更深的解读,不过我目前只能领会到这个程度,所以不再胡扯了,以免贻笑大方。



2012年11月27日星期二

我想要的爪机

The world is crazy.

每天睁眼的第一件事是抓起手机刷微博;
在等公交车的时候做的事情是拿出手机刷微博;
在公交车上一手扶着钢管(-___-!!),另一只手在做的事情还是拿着手机刷微博;
吃饭的时候......
路上走路的时候......
休息的时候......
上厕所的时候......
睡前......

这大概是我若干个月之前的状态.

后来我顿悟了!

不, 不是因为手机流量超了.
不, 也不是因为走路的时候撞树上了.

突然有一天, 我厌倦了这么生活.
路上有那么多的妹子, 那么好的风景, 各种奇怪的人类...
为什么不去看她们它们他们, 而是盯着手机呢?

我决定不再这么生活.
我决定不再用手机刷微博——好吧,偶尔可以.

后来,
后来我就买了诺基亚1010!
双卡双待! 音乐手机! 支持MP3播放! 支持高达16GB micro SD存储卡! 配备了诺基亚立体声耳机! 内置调频收音机! 内置强光手电筒! 1020mAh高容量锂电池! 待机时间长达32天! 1.8英寸彩色大屏幕! 分辨率高达128 × 160像素! PPI直逼视网膜屏有木有啊有木有! 手机重量轻! 易携带! 坚固耐用! 有防身功效! 实乃居家旅行杀人越货必备之良器! 原价八千八百八十八! 现价只要一百八十八! 赶快拿起你的电话订购吧!! (repeat)

啊......喝口水......

书归正传.

现在的智能机非常普及了, 不是智能机都不好意思拿出来见人.
所以我的宇宙最强机一般都揣兜里, 偶尔偷偷摸出来瞟一瞟时间.
让我奇怪的是, 爱疯卖这么贵竟然还有这么大的市场占有率.
有一次在公交车上我看到周围有5个人拿出手机, 个个都是爱疯.
感情首都人民的生活水平都这么高了!

手机占用了我们太多的时间.
因为它的功能过于强大.

我想要的爪机, 功能不用太强大.
能打电话, 发短信(将来可能会被即时通讯取代), 收发邮件, 查地图, 定位, 上网, 就可以了!
不需要安装各种应用.
不需要游戏.
不需要微博.

我的碎片时间我宁愿"浪费"掉.

谢谢!

2012年10月17日星期三

今天太背了

早上到实验室发现电工正站在我的椅子上装插座,
我在旁边等了半天才弄好.
插座弄好后, 桌子上书上地上一片狼藉.
虽然电工好心铺了张报纸盖住电脑, 但桌子上书上抱枕上还是有一层混凝土粉末.

->只好自己打扫, 浪费了半个小时的时间

然后同样为了改造电路, 实验室断电断网.
问题是恢复供电后, 网络出问题了...
然后花了好几个小时排查,
最后发现问题出在无线路由器上.
无线路由器本来是作为AP用的, 结果工作在了路由器模式, 导致整个实验室都不能正确获取IP.

->浪费了两个小时+的时间

然后买东西用手机银行付费, 结果付费链接死活打不开. 当时要不是考虑到最近在找工作需要手机, 真想把这个破手机摔了.
后来好容易打开了, 发现限额超了.
只好重启到Windows下登录网银改限额.
中间支付宝还要我重新装插件神马的就不提了.

->浪费了一个多小时的时间


心情被这些事情搞得挺郁闷的.
想早点回去睡觉, 让这背运的一天早点过去.

明天还有面试. 希望今天是在攒RP, T______T




2012年4月25日星期三

[NOTE] 在V460上继续折腾Mac OS X Lion

一年一度的折腾又开始了。

安装过程参考:
[教程] V460 MBR分区成功安装lion 并升级到10.7.2,部分驱动(B/G/Z460可参考)
基本都用的这篇文章中的驱动和OSInstall文件。

其中AppleIntelPIIXATA.kext应该是不需要的。因为这个kext是为了支持SATA硬盘的,而我的硬盘本身就是AHCI模式。

本来用的OSInstall文件是从另外一个地方下载的,结果导致开始安装后报错:
安装器不能准备该磁盘以进行安装⋯⋯
换了上文中的OSInstall后正常了。

目前系统根目录/Extra下的文件org.chameleon.Boot.plist内容为(XML格式乱掉了,大家领会精神吧):
        DSDT
        /Extra/DSDT.aml
        Default Partition
        hd(0,4)
        EthernetBuiltIn
        Yes
        GraphicsEnabler
        Yes
        Graphics Mode
        1366x768x32
        Kernel
        mach_kernel
        Kernel Flags
        npci=0x2000
        Theme
        Default
用到的驱动:
AppleACPIPS2Nub.kext/
ApplePS2Controller.kext/
Atheros8131cEthernet.kext/
ElliottForceLegacyRTC.kext/
FakeSMC.kext/
NullCPUPowerManagement.kext/
越少越能减少KP(Kernel Panic)的概率。

目前声卡还没驱动起来,装了个VoodooHDA-2.7.3,还没重启试试。

显卡似乎驱动起来了,偏好设置->mission control 去掉第一个勾,Dashboard中才有水纹效果。

网卡似乎正常。

摄像头正常。

上次重启前,Finder和偏好设置都挂了,不知道什么原因。

上上次重启和上上上次重启是因为KP,原因未知,导致更新下载了三次才完成。

(话说下载更新的时候,满世界找安装包。后来才发现可以在官网下载,-_____-!! )


其他的只能用时间去检验了。


目前似乎是以64位模式运行,这是不是就意味着我可以把换下来的2G内存插回去,这样就有6G内存可以用了?!哇哈哈哈哈哈哈⋯⋯

不过用来干嘛呢?

之前跑得比较慢的“大型”应用也就是XCode和PS了,不知道内存增大后有改观没有。


正在下载XCode,慢得跟什么似的。


Chameleon启动参数:
-v Verbose
-f 忽略Extensions.kext,即忽略kext Cache
-x 安全模式,这种模式下不会自动挂载Windows分区和USB设备


其它参考:修复kext权限 & 重建Cache


希望明年不用再折腾了。


》》》》》》Update 04-26

终于把声卡搞定了。

用的就是VoodooHDA的驱动:VoodooHDA-2.7.3

安装后,参考这个帖子

把/Extra下面的kext都移到/S/L/E下面,然后重建cache(参考修复kext权限 & 重建Cache

(为防万一,/Extra下面的kext并没有删掉。我发现在重建cache之后,过了一小段时间,耳机里就突然有声音了。)

然后在org.chameleon.Boot.plist中添加:
UseKernelCache
Yes
然后重启吧骚年!

据说原因是VoodooHDA在系统使用cache的时候才会正常工作⋯⋯

至此,Lion基本达到了和SL同样的正常工作水平。

》》》》》》Update 04-26

莫名其妙在运行的时候又KP了,然后各种方式都启动不能。只好进Windows,把UseKernelCache参数删掉,然后用-f参数启动,总算进系统了。

》》》》》》Update 04-26

竟然突然黑屏了⋯⋯然后启动不能。不用-f, 失败;用-f,失败;再次用-f,成功。

然后根据这个帖子,把IOPCIPrimaryMatch改为IOPCIMatch,id本来就是那样,没改。
根据KP时输出的信息可一看到vendor ID和device ID。
KP的问题应该还是出在VoodooHDA上。

》》》》》》Update 04-27

真是各种崩溃啊。有时怀疑是显卡驱动的问题(官方驱动,graphicenabler=true) ,更多时候更像是VoodooHDA的问题。
手动修改了VoodooHDA/Contents/Info.plist,把其中的key为VoodooHDA-1的删掉了,然后手动kextunload, kextutil,终于把声卡驱动起来了。
开始时是把key为VoodooHDA-2的删掉了,然后手动加载驱动,完全没有效果。

目前看似正常了,有待时间的检验。

》》》》》》Update 05-05

一切正常。

把UseKernelCache=Yes加回去了,似乎可以正常使用kernel cache了,开机速度提高了。
不然的话必须使用-f参数才能正常启动。

2012年4月21日星期六

生命没有意义

标题是为了哗众取宠. 我并没有意愿自绝于人类(事实上我活得很好很开心), 也并不是在表达悲观失望.
至于为什么说"生命没有意义", 请诸君听我慢慢道来.

我发现时间过得太快了.
一转眼, 我的三年研究僧生涯已经过了一多半.
而且我发现自己越来越不愿意离开北大.
这种感觉在我在东大的时候是几乎没有过的.

在东大的绝大部分时间, 我都在痛恨着东大, 并盼望着早日离开那个鬼地方.
感觉很压抑, 很拘束.
但是有一天, 当我从本部坐校车回到九龙湖的时候,
坐在窗边, 看着路边花坛里稀疏的草, 光秃秃的树,
(我想那是春天)
突然感觉到眷恋, 不是一丝, 很多丝.

我想我的青葱岁月要死在这里了.

后来工作, 同样内心总是挣扎着想离开.
终于在一年多后, 辞职的事情尘埃落定的时候, 心里突然有一点伤感, 一丝, 不是很多丝.
我想大概是对前途未卜的恐惧.

后来, 回到校园, 大约从我踏进北大校门的那天起, 我就不想离开了.

或许"眷恋"有个阀门,
2008年的时候被一些草木打开,
从此就关不上了.

所以偶尔想起还只能在北大呆一年多, 总是会发出"逝者如斯夫"的感叹.
再联想到自己还一无所成, 老纸真的还想再活五百年.

你说这个世界上真的存在吸血鬼吗?
变吸血鬼也不错, 这样就有很多很多很多的时间用来学习和胡思乱想了.
说不定会得几个诺贝尔奖玩玩.

哎你说爱因斯坦会是吸血鬼吗?

------------------
以上是离题万里的絮絮叨叨.
下面是正题.
------------------

前段时间, 看了《上帝掷骰子吗--量子物理史话》这本书.
发现物理学发展到量子这个层次, 快要变成扯淡的科学了,
"哥本哈根解释"居然跟唯心主义勾搭上了.
严重怀疑那帮人是笛卡尔, 王阳明的信徒.

事实上上一段也是我在胡扯.
我知道物理学没有那么简单, 不是看了一本科普读物就可以指手画脚的.

当然就我浅薄的物理知识和直觉来看, 这种唯心的解释不大可能是正确的.

或许再过几百年, 那时的浅薄的科普书籍读者可以居高临下指着现在的种种假说哈哈大笑,
就像我们现在做的那样.

但是我可能不会知道那时的"真相"了.

因为我不是不死之身.

再联想到我可能看不到一百年后的"高科技"的生活状态.
总是感到OO的伤感.

然而, 这有什么关系呢?!

自从看过《上帝掷骰子吗--量子物理史话》之后,
突然对这类的科普书籍(书籍, 视频...信息)感兴趣起来.
于是从日理万机的忧国忧民的我不coding谁coding的工作中抽出一点时间, 看了BBC的几集纪录片: How.The.Universe.Works

不看则已, 一看.....尼玛!

得到一个结论: 生命是没有意义的.

地球真的很小很小很小很小......就算地球上的生命全部毁灭, 就算连地球都消失.
宇宙还是宇宙, 恒星, 行星, 黑洞, 和各种乱七八糟的存在, 还是各自存在着, 并且以人类无法企及的时间尺度分久必合合久必分.

就算你我他拼了老命地奋斗奋斗奋斗, 就算混成了全人类的大救星, 从宇宙的尺度看, 毫——无——意——义!

根据这部纪录片里的说法, (或许也是目前科学界的主流看法)
若干年后, 当所有的恒星的燃料都燃尽, 整个宇宙会陷入一片黑暗. (S01E04 Stars末尾)

如果人类那时还存在的话,或许他们会学会用其它物质来制造光。
但是根据自然选择的原理,生物最终会丧失视觉。

想象一下一片黑暗的生活吧……
而且不是因为小区停电,是整个宇宙都停电了……

每想到这一点,就倍感“绝望”,非常牛X的若干万亿年尺度的绝望。

如果想到有星星的日子也不过是整个宇宙的一瞬间, 你会不会绝望?

现在, 你告诉我, 生命有意义吗?



我告诉你, 有意义.

The Big Bang Theory(不是那个电视剧啊亲)关于宇宙的未来貌似有两种说法:
1. 整个宇宙最终会扩散开来, 永无尽头
2. 在某个时间点, 宇宙会开始坍缩, 坍缩到一点, 然后发生第N+1次Big Bang

我愿意相信第2种说法.

按照决定论的思想, 如果再次发生Big Bang, 宇宙的历史会再次精确地重演,
也就是说, 你我会再活一次, 然后若干年后, 再活一次, 再活一次, 再活一次, 再活一次......
你活腻了也不行, 因为这种重演永无止尽.

如果是非决定论, 也就是说按概率活着, 地球生命的存在是个很小很小很小很小.....很小很小的小概率事件,
也就是说是个很大很大很大很大......很大很大的奇迹,
那么, 下一次Big Bang也许不会产生你我,
但是因为Big Bang永无止尽, 所以总有一天, 还会有个银河系, 还会有个太阳系, 还会有个地球, 还会有人类, 还会有你我他.
或许我们的生活和现在这个cycle有些些许的不同, 也可能完全地相同,
总之, 我们原地满血复活了. 如果我们仍然残留这个cycle的意识的话, 会以为是信春哥的缘故.

一想到可以活很多次, 心中总是充满了力量.



结论:

对于一个宇宙, 生命没有意义. 对于很多个宇宙, 生命稍微有点意义.
想想吧, 老纸活着是为了很多个宇宙! 牛X吧!!



上面这个结论是扯淡.

真正的结论是, 生命的确是没有意义的——如果从外界来看.
但是从自己来看, 从"我"来看, 生命的意义大于一切, 大于狗屁宇宙.
或许这就是王阳明"心外无物"的含义.
有空找点心学的书来拜读拜读.


诸位看官看到标题是不是感到有些提心吊胆, 为我的生命安全担心.
看到最后是不是感到胆战心惊, 为自己生命的渺小痛哭流涕?
如果是的话, 本人调戏全人类的目的就取得了一个阶段性的成果.


好了, 以上就是最近的一些胡思乱想.
"整理"出来, 放到这里, 算是一篇博文, 顺便为博客除除草.