chrome app store in new tab

Recently Google began to put app store things into chrome new tab page.

I found this on ubuntu with chromium 9.0.597.94 (73967).

It’s pretty cool and I tried a lot of things, like my favorite  flash game Canabalt, google Talk and so on.

The apps web page is also become more attractive, comparing with chrome extension web pages.

I tried google talk app the first time I saw it, and it turned to be Chrome OS only… Google is definitely working on making Chrome OS special, and unfortunately, exclusive. I really don’t like the way as Apple goes, but on the other hand, the open minded Android market is not such a success as well.

php nslookup 安全性检查

昨天做了这个http://pp.hawkwithwind.net/nslookup.php之后,忽然想到,其实完全可以做一个网页版的命令行,远程控制服务器,其实相当于网页版的ssh了。转念一想,不行,因为那样的话安全性没有保障,等于是把自家后院交给人家随意践踏了。

想到这里,忽然意识到,自己写的那个nslookup.php,其实只是简单的把用户提交的字符串前面加一个"nslookup "然后给系统调用,这样其实是非常危险的。例如我尝试在输入框里面输入twitter.com & whoami,结果除了返回twitter的ip信息,也返回了我在服务器上的用户名。这种可怕的缺陷给黑客太多可趁之机了。立刻修改。

我目前的想法是,字符串里包含后台符号 &,分号 ; , 管道符号 | , 重定向符号 > 或者选项符号 – 的时候,就拒绝服务。另外也禁止了字符串内部的空格或者换行符。这样的话,似乎就没有其他的问题了吧?我在这方面不是很熟,估计还会有问题,欢迎黑客及爱好者们赐教~

后来又发现了好多其他可能的符号会导致插入语句。。现在我禁止的符号更多了。。包括大括号{}还有问号冒号等等都被我禁掉了。。

另外,虽然只有几行代码,我把他放到了github上,希望能给大家提供一点帮助~
https://github.com/hawkwithwind/phpNetTools

nslookup – 解决ssh隧道无法访问twitter

我最近发现,即使使用ssh隧道,有时也会无法访问twitter, facebook等知名网站,但查询自己的ip地址已经在美国,并且另外一些被墙的网站如blogger等,却又能访问。想到应该是最近GFW的新动作造成的。网上查了查,在google的实时搜索中发现了很多关于最近GFW升级的传闻,很多人抱怨自己ssh或者VPN开始不好用了。

只要能够连上ssh或者vpn,GFW就无法真正对我们造成威胁。仍然无法访问这些网站,极有可能是dns污染造成的。只要能获取到正确的ip地址,就可以访问到对应的网站。然而,网上搜索到的ip地址,往往比较旧,可能已经失效。想要得到最新最正确的dns对应ip地址,最好的方法是通过墙外的主机ping得的ip地址。将其写入自己的hosts文件就好了。

为此,我自己写了一个小小的服务,用美国主机nslookup你想问的域名,给出对应的ip。
pp.hawkwithwind.net/nslookup.php
我还提供了他的api版本,只要使用如下格式的命令,就可得到 json 格式的返回包:
pp.hawkwithwind.net/nslookup.php?server=google.com
返回形式如下
['74.125.224.176', '74.125.224.177', '74.125.224.178', '74.125.224.179', '74.125.224.180']
相信还是蛮有用的。至于原理,非常简单,用php的exec函数执行nslookup命令就可以了。

在linux上使用fbterm和ucimf启用中文命令行

昨天说了希望找到一个好用的linux下的中文命令行, 最好还是用framebuffer的, 今天果然就找到了, 其实就是名气响当当的fbterm. 顾明思意, 他是使用framebuffer的, 完全满足了咱那小小的需求.
装这个东西费了我不少时间. 主要也是因为ubuntu没有提供安装包支持的关系. 好在这个东西名气比较响, 网上的讨论比较多, 很快找到了资源.
首先安装fbterm本身. 这个东西ubuntu有安装支持. 接下来是fbterm_ucimf. 这个东西是给fbterm用的中文输入法. 要先装libucimf再装fbterm_ucimf. 这些ubuntu源上都没有, 幸而google code上有他们的项目, 很容易找到. 可惜装完之后他用不了. 网上查了很久也不知道怎么解决. 想想看只好继续往下安装. 就又安装了Openvanilla-modules, ucimf-Openvanilla. 这两个东西google code上的fbterm_ucimf项目那里也有. 全安装完毕之后再打开fbterm, 敲击Ctrl-Space之后, 按F9, 终于看到输入法了!不过那输入法很扯淡, 用不了. 按照网上说的, 到Openvanilla安装目录下面去找那堆输入法.cin文件, 除了pinyin之外全删掉(我是把后缀改成.bak). 世界清静了.
至于前面为何输入法没弄对, 我一直不清楚. 也许是Openvanilla才是真正对输入法的支持吧. 进fbterm之前要设置正确locale: LANG=zh_CN.UTF-8 使用这个命令之后再 fbterm -i fbterm_ucimf 就能正确启动fbterm啦~
顺便说一下fbterm两个小问题的解决: 如果他进入之后说快捷键无法启用, 那是因为权限问题. 根据google code上wiki的提示, 使用chmod u+s /.../fbterm 就好了. 路径请自己whereis查看. 如果无法启动, 说是fb device权限问题, 那请修改/dev/fb0的权限. 我偷懒了, 直接写的chmod  777 /dev/fb0 以后会采用规整的chown的方式来弄好他.

这篇文章就是为了庆祝这个重大胜利在linux console下面写的(在实验室写了一半, 后半篇回寝室在win上写的orz|||). 其实这个fbterm还是有点bug,  屏幕显示有时会刷出些混乱的东西.  不过已经是我能找到的最好的中文命令行了.
借用网上的评价, zhcon和cce都已经停止开发了, 只有fbterm还有人在支持. 从这个角度来说, fbterm已经是最佳选择了. 希望他能越做越好~

ubuntu禁用gdm

通常禁用gdm的方式是修改/etc/inittab文件,将默认起入init 5的设置改成默认起入init 3就好了。
但是这个方式在ubuntu下似乎走不通。因为ubuntu下面根本就没有/etc/inittab文件,并且据网上说ubuntu默认对init [2345]都加上了gdm支持,所以你自己加了一个/etc/inittab文件确实能覆盖ubuntu原始设置但是也没啥用。

网上有介绍,在服务设置中关闭gdm对2345运行级的默认启动设置就行了。但是我自己这台机器它本来就是deactive的,不知为何还能进入x。这点我没有求其所以然。

不过根据网上的另外一些介绍,找到了/etc/init文件夹,下面是一堆各种init脚本。ls | grep gdm,只有一个gdm.conf。他有一句stop on runlevel如何如何,方括号应该是正则的或的关系吧,写成[012346],就只有init 5能进x了,默认进的应该是2,网上有交代,在rc_sysinit.conf里面也能找到。有人说要改成3,其实不是5就行了(当然也不能是0和6)。

起进去我楞了好久。一开始我的grub还是带splash的,它闪啊闪最后不动了,cpu和硬盘都不动了。我就只好重启。后来进safe mode关了splash看他的输出信息,我还以为是他卡死在配置电池什么什么的一个环节出不来了。网上查也查不到怎么回事。只好孜孜不倦地反复重启。其实再怎么重启效果也是一样嘛,但是可能人就不一样了。某次又重启的时候莫名其妙按了ctrl-alt-f1,然后就进命令行了。才知道原来他CPU也不转了硬盘也不叫了其实就是启动完毕了。我傻乎乎反复引导了十多次才搞明白这么回事。

最后说一下进了命令行上不了网怎么办吧,其实很简单。我也是在网上查的,就是sudo dhclient,他就会自动获取IP了。当然如果你的网络是需要手动配ip的那你还是自己ifconfig eth0吧。或者改脚本也行。命令行下怎么用无线网络我还没试过,以后回去试试看。

最后说下,这个Ubuntu Skills的网站相当给力啊。常用工具都指出了。强烈推荐。

Geek讲故事

筹划了一阵子,最近开始写小说了。
放在一个新的地址 http://story.hawkwithwind.net欢迎戳我~~

其实一直有写小说的想法,可惜都没坚持下来。
这次的世界设定和预先设计好的故事线比较长,提前设计好的人物也不少,估计能比较持久一点。
内容来说当然是我本人比较喜欢的科幻+战争+政治+宗教+哲学,口味比较奇特。。所以。。唉。。既然贴出来还是希望能多少有一两个读者。。我会在我能力所及范围内尽可能追求科幻的合理性。不过为了剧情刺激,超光速旅行还是不得不设计。我会尽可能拒绝时间旅行。

在幻想方面我想我的想象力还是相当充沛的,可能会看到很多老科幻电影的影子,但绝对有新东西。

我的短处就是人物设定啦。。毕竟作为一个宅男认识的人不多,很难把各种不同性格的人写好。。所以可能会发现很多人物其实都是我个人的某个侧面的投影。。这也是没有办法的事情。。

作为一部引人入胜的小说,假如全角色都是男生没有女生那恐怕不行,更糟糕的是如果没有罗曼蒂克情节那一方面实在不够吸引人,另一方面也太不真实。。总不能说未来人都变得特冷特逻辑,都没有什么爱恨情仇了吧。。呜不过这方面是咱的大大弱项。。所以。。随便写着玩玩吧。。

以上。

终于看了盗梦空间

这么迟还要写影评是不是太无聊了。
不过这片子的译名有问题吧。extraction才是盗梦。Inception翻译成“蚀梦”是不是好得多?

不过我确实没觉得这个片子有什么难懂啊。。可能网上有牛人的神奇解释吧。。不过干嘛要那么多累赘的注释呢(很多故意把事情弄复杂的注释说不定是为了商业造势也说不定。。)?用奥坎姆剃刀全剃掉,这本来是一部其实线索很清晰的电影来着。并且也没有讨论什么太艰深的问题。其实说的就是cobb内心深处的矛盾吧。

最后感觉这个片子其实说的不是梦。
因为梦这个东西吧。第一,在梦里是不能逻辑思维的,并且梦里没有感觉。这点电影实在太假了。在梦里感到痛。。那几乎瞬间就会醒来。更不要说在梦里动用逻辑思维。在梦里计算1+2=3根本不可能,如果尝试的话估计也就会瞬间醒来了。
第二,梦跟镇静剂关系不大。强力镇静剂会让人昏迷,而不是入梦。做梦是浅睡状态,其实大脑是醒着的,只是身体运动机能的多数机关是关闭的。假如吃多了安眠药,或者使用强力镇静剂,那人是不可能做梦的。
第三,梦是跟欲望有着强烈关系的事情。因此梦也是无法“分享”的。我前面一篇博客正好提到了欲望。。欲望其实是一个人独有的东西,是决定一个人属性的东西。就算同样是“我要活下去”这个欲望,对不同的人而言这个欲望表达的也是完全不同的含义。(所谓“不是你死就是我活”。。)而梦,其实正是欲望的表达。不是梦见得到了想要的东西,就是相反,梦见发生了不想发生的事情。一定跟“想要什么”,“希望什么发生”有着深刻的关系。而那是绝不可能与他人共享的。至少不可能跟陌生人共享,假如说跟知心伙伴或者宿怨仇敌分享梦境,那还多少说得过去。。。电影中的梦居然是可以被设计师随意布局随意安排的,而且除了cobb的妻子孩子之外很少出现“欲望”,“怨念”之类的元素。这些梦境的最基本元素的缺失应该说是这部电影的最大硬伤。(当然多数观众是不会在乎的。。)

拿这部电影同黑客帝国相比的话。。

当然啦,因为我是黑客死忠嘛,所以这么比可能不公平来着。而且三部曲的长度让黑客帝国足以讨论他想要讨论的所有问题。其实黑客1里面讨论的问题也不是很多嘛。真正把问题展开和讨论清楚的是第二部。第三部则提供了结局和展望。
(我对黑客帝国的理解也是基于奥坎姆剃刀的,虚幻就是虚幻,真实就是真实,这是我一贯的态度嘻嘻)

呜。。不管怎么说,这确实是值得写几行文字的作品~

P.S. 今天还看了另一部片子 Cube(立方体) 非常好看。应该说也是讨论了非常多问题的一部电影。当然制作方面则是非常简省的。

生命是什么

之前说过要写这么篇东西。。不过一直没有写。。最近发现好一阵子没写博了,就凑这么一篇吧。。
要让ChaoBB同学失望了,因为这个文章并没有准备谈技术问题,只是要论证AI不是生命这个无聊问题而已。

一直在问自己生命究竟是什么这个问题。当然实质上是不可能得到答案的。科学研究无论如何也是有个底线的。最终只能用人择原理来解释。能发现作用力之间的关系确实很不错,可是接下来,为何作用力之间有这样的关系?科学可能就很难解释了。所以也无怪乎牛顿最终走向神学。世界设定就好象是导演早就事先安排好的,只要剧中人物根据这样的设定能够表演的合理,那么世界设定本身也就不会被存疑了。

所以与其说是在纠结生命是什么这个问题,不如说是如何区分生物与非生物。

最近感冒发烧,我这里就不长篇论证了,直接抛出命题,
欲望与实现欲望的能力的总和就是生命。

无欲无求的东西是没有生命的。石头也好空气也好,他们或者说是物质,或者说是具有神的属性。反正他们对外界没有任何要求,任由外物的摆布。有生命的东西,无论是植物也好,细菌病毒也罢,都用不同的方式表达着他们固有的欲望。人也如此。所以佛门讲究弃欲成佛。假如真的连吃东西喝水、连生存的欲望都没有了,那当然就成佛(挂掉)了。

也许有些东西也有自己的欲望,可惜没有表达出来。那只能说他不具备作为生物的能力。也许我们可以臆断某块石头其实也是有欲望的。但是它从来都没有表现出来过。他一直都那么僵直着。我们只好认为他没有生存的力量。

满足基本的欲望之后,就会产生野心。其实历史上那些著名人物,那些各领风骚数百年的英雄豪杰,哪一个不是野心强烈到极点才跳入历史舞台的呢。可以说,欲望是个人前进的动力,也是社会进步的原因。

但是正如前面说的,生命包含两个要素,欲望和实现欲望的能力。假如对欲望不加限制过度追求的话,结果只能是无法实现。多个目的中也必须舍弃一些才能实现另外一些。理性就像一副骨架,紧紧将无限扩散的欲望笼住,塑出形状,构出轮廓。这个轮廓,就是每个人的个性和成就吧。

最后说到AI这个问题,既然按照上面的理论,AI即使再接近人智,他也不会成为生命。只要不赋予AI以欲望,他就是仅仅拥有理智的一套骨架。其实这个隐喻在 黑客帝国 中已经有了展现。系统中的那些程序,尽管有着超人的智慧,有着惊人的能力:掌握全部密钥、能够预言未来、或者本身就是系统的创建和维护者,也具备人的外表和言行,但归根到底他们还是程序。他们的生命有一个“目的”。有一个“因果”。得到生命的程序只有两个,一个是特工史密斯,他由于强烈的“生存的欲望”,留在了系统之内,并且它的生存欲望无限扩散,终于将整个母体吞并。这种没有理性约束的纯粹欲望,最终还只是不完全的生命,因此结局只有悲惨的毁灭。另一个就是印度女孩,是一对程序父母的后代,由于“爱”这种超过一切力量的欲望而得到了生命。电影的结局似乎是在憧憬这种强大的力量可以阻止战争,带来彩虹般的未来。

好吧,总结这块向来是我的弱项,干脆不写了。。