今天在vc8里发现了一段很有意思的东西,objbase.h头文件的开头是这样的[cpp]/*#!perlMapHeaderToDll("objbase.h", "ole32.dll");ActivateAroundFunctionCall("ole32.dll");#IgnoreFunction("CreateDataAdviseHolder");....*/[/cpp]刚开始的!perl声明估计多半是用来对这个文件做一些预处理操作,自动生成一些东西以前用微软的Debugging Tools for Windows里面的SrcSvr工具,对pdb符号文件建索引。其原理大致就是在pdb里储存一些svn的版本信息。微软给了一个ssindex.cmd的脚本来自动完成这些工作,直接就是用perl写的,而且在文档里写明要安装perl的支持。看来微软内部使用perl还是很广泛的。

今天一直在玩ipad,实在是很爽,各方面的体验非常不错。我一直不喜欢笔记本,ipad是个很好的替代。试了几个数学软件,效果还可以,可惜功能不够强大,差强人意。不知道wolfram什么时候能出一个ipad版的完整mathematica来~~~

在无尽之中,自我重复终要万川归一。无数拱顶辐射交会,终为扶持那巍峨的构型万物之川流,只眷恋生命巨星和泥土任由一切孜孜不止终要在上帝那里得永恒的安息歌德上周末在一个图书馆看到一本名字叫西方的没落的书,读了几段我就被其思维的深度所吸引,确实是一本好书。卓越上没有货了,幸好当当还有,没有任何犹豫的买了下来。google了一番,发现自己真的是孤陋寡闻,这么有名书都没有听说过。上面歌德那段话,就是这本书的题词,读到的时候,真是感触颇多。我愈发对德国人感到佩服了,科学,哲学,文学,每一个方面都很强大。

工作一年,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...