工作一年,mark下~~去年的7月19号,一个人来到了这边,现在想起来恍惚昨日,时间真快啊。前天晚上去买东西,看到本徐志摩的诗集,顺手翻了翻,前半部分语言充满了美好与希望的憧憬,后面却是伤心绝望,看不到尽头。也许大部分人的人生多半如此罢,年轻时的那些理想与快乐,随着年龄增长,逐渐破灭。得到如何,失去又如何呢?失去让人理想破灭,得到会发现不是当初想象的样子,同样没有动力。生活本身,就是一件无聊的重复性事件。爱因斯坦说,搞科学本身就是逃避无聊生活的一种方式,这也许正是我当前的状态。昨天晚上把斯塔夫里阿诺斯的全球通史最后两章读完了,前后延续了几个月,读完后如同完成任务般如释重负。阅读给人带来的快乐是无与伦比的。brian kernighan的The Practice of Programming的后记里引用了下面这段话If men could learn from history, what lessons it might teach us. But passion and party blind our eyes, and the light which experience gives us is a lantern on the stern, which shines only on the waves behind us!Samuel Taylor Coleridge,Reco...

今年世界杯最有意思的事情是,未来帝和章鱼哥对球赛的预测,奇准无比。而我们平时也搞一些类似赌球的游戏,比如猜测结果请吃饭之类。不止足球,很多事情都是类似,这似乎是人们普遍的心态。在各个古老的文明中,求神问卜,对未来重要事情的预测,似乎都占很重要一席。每一个文明都有类似的于祭司,巫师,先知之类的概念,这些人员都部分或者全部的从事预言的工作,并以此谋生。预测是如此的普遍且广泛的存在于各个文明之中,必定是有某种更深层次的机制使然。人的大脑比较复杂,会思考很长一段时间之后的重要事情,假如把这个时间段缩短到几分几秒再来看,似乎显得再也自然不过,比如,门将一个大脚把球开出去,所有队员都知道往前跑,因为大家可以肯定的预测,球将快速飞过中场。这种明显的理所当然的事情,常常被我们忽视而不去思考,在这里,人们同样是对球的走向进行了预测,这种预测跟对球赛结果的预测,似乎有些不同,因为我们根据已知的物理定律,几乎可以百分之百的指出球下一步将出现在哪个位置。但是球赛的结果却是千头万绪,不到最后谁也无法真正断言。产生这两种不同预测的深层机制应该是相同的,对未来进行预测是人们作为一种生物的本能行为。在遥远的过去,生物为了生存,必须对周围的环境做出相应的反应,对不同的外部环境进行不同判断预测,决定下一步该如何行动。人的大脑会储存以往的经验信息,进行分析判断整理,并对当前环境做出反应。大致可以认为,预测未来是生物进化...

最近公司网络改造,限制所有对公网的直接tcp连接,打开一个网页只能通过代理,于是,我以前写的一些网络程序,统统不能用鸟~~直接的socket连接不能用,也没有办法了,但是有些走http协议的,倒是还可以利用下代理访问,便想改造一番。python的urllib支持代理的方式访问,只要设置一个http_proxy的环境变量就行了。但是,httplib不知道基于什么古怪的原因,居然不支持。决定手工改了,打开httplib的源代码,仔细读了一番,在HTTPConnection类的connect方法中,直接连到代理服务器。试了试,还是不行,抓了下包,原来浏览器访问的时候在http协议的GET和POST之类的请求中,将地址设成绝对路径,而不仅仅是设置Host的header。又在putrequest函数里改了。还是不行,抓包,仔细看,很诡异的问题,直到后来无意中发现,http请求里的header里面,Host被加入了两次~~~改掉之后就行了。真烦啊,耽误我们大量时间的,往往不是那些看起来很困难的东西,而是无足轻重的不起眼的小细节。直接改httplib的代码有些暴力,其他使用这个库的应用程序,可能会产生一些不可预知的错误,后来改了改,实现了一个单独的代理类。下面把主要的代码贴出来[python]class ProxyHttpConnection(httplib.HTTPConnection): d...

下了几天雨,今天终于放晴,心情也为之一变。周六下的很大,上午有些感冒,下午很郁闷,爬了一把南山,中途雨下的很大,浑身淋的湿透。上周末我尝试骑自行车到山顶,当时感觉没有多高,奋力往上骑,有些地方坡度甚至已经超过了30度,在快到山顶的时候虚脱了,实在走不动,我喘气都上不来了,汗水已经把我全身浸没,脸色铁青,几乎倒在地上。休息一会决定放弃,我连走路的力气都没有了。回去的路上,一个小孩子看到我吓得往他妈妈怀里钻,唉,真的想自己看看当时的形象。周六我步行爬了上去,一路走来,到了山顶,没有感觉丝毫的劳累。看着道路的坡度,实在是感叹我居然能够一直骑上去,再看看我放弃的地方,距离山顶只差那么一点点,真是可惜啊,回想一下,就是这么一点点距离当时也实在没有力气上去了。为山九仞,功亏一篑,就是最后的一点点,将之前所有的努力都一笔抹煞,实在令人扼腕痛惜。可能换一辆性能更好一些的单车会好一些,其实主要还是刚开始我骑的太快了,如果一开始慢慢的走,也许不会那么累,但是谁又知道呢,走的慢了,可能需要更多的功才能维持。第二次步行给我的感叹最多的就是,这座山实在是太陡峭了。这次登山的经历,跟最近这段时间发生的一件事情倒是有些相似,也许昭示着我应该放弃吧。

这个空间的提供商说提供ssh访问,但是需要额外申请,那就申请吧,提交之后一直没有反应,可能是我填写的理由不够充分。不过既然有权限执行perl脚本,那想必我的账户已经具有执行一些shell命令的权限了,只不过他们没有给我提供远程进行ssh的方式罢了。但如果使用perl写一段cgi脚本,提供一个输入框,输入需要执行的命令,直接通过perl调用系统命令,是不是就能够实现一个简单的shell了?下面是这段perl脚本[perl]#!/usr/bin/perluse CGI qw(:all);print header(),start_html("a simple shell");print "<pre>n";if (param("cmd")){ $c = param("cmd"); print `$c`;}print "</pre>n";print start_form(-name=>"fm"), textfield("cmd","",120), end_form;print "<script>document.fm.cmd.value='';document.fm.cmd.focu...

从5月23号开始,megabyet的免费空间就一直访问不了,连接的时候服务器timeout,一开始我以为是down掉了,过了一天还是不能访问,心想维护人员也不可能这么不专业吧。于是我怀疑是否被墙掉了,但是如果被墙掉一般会是reset by peer的错误,timeout还是服务器挂掉的可能行比较大一些。后来翻出去看了一下,果然能够正常访问,仔细想想原因,也许是ip被直接干掉了,在bing.com里输入ip:64.79.79.227有上万条结果,如此多站点都指向在这个地址,总有几个站点的内容敏感,被干掉也属正常,唉,好东西都被我朝糟蹋了。一开始用blogger,遭墙,然后是appengine,也是断续的被封,后来用免费的megabyet以后以为高枕无忧,怎知到最后还是挂掉。于是痛下决心,决定花钱租空间,对比后选择了一个叫cyberultra的新加坡服务提供商,一年$23.4,大致折合人民币160块,还算便宜,将就着用吧。将域名的A记录改到了这个ip地址。花钱果然不同,支持perl和python等cgi脚本,ping了下,大致有300ms的延迟,配置上了wordpress后感觉速度和稳定性上都还可以。我没什么大的需求,就是一个能写点东西的地方,连这点微小的权利,都不能保障,政~#府(连这两个字都要拆开写)啊,让我如何不愤怒呢~新家,第一篇,发泄一下这几天的不爽。