又是年终,2013年就要过去了。眼睛的情况暂时稳定住了,买了个屏蔽蓝紫光的夹片,又戴了个帽子,把那些波长短能量高的伤害眼睛光线阻挡了大部分,至少最近疼痛没有那么厉害了。想做的几件事情都不了了之,几点原因:找不到合适的人,自己决心不够,健康和惰性因素的影响。上周末冬至,才意识到自己已经二十八岁了,时间流逝,不经意间已经快步入中年了。看看自己还是一事无成,上学时那些理想志向,几乎已消磨殆尽。现实中到处受挫折,当年那些妄图改变世界的想法,现在想起来不禁苦笑,笑自己年少轻狂。但我知道,这些想法还隐藏在内心深处,只是在逐渐淡去,“年与时驰,意与日去,遂成枯落,多不接物,悲守穷庐,将复何及”,我还清晰记得父亲当年在黑板上写下来诸葛亮的诫子书时的情景,是在讲出师表的那堂课上。直到今天才深刻咀嚼出这段话的意义。我曾不止一次思考,人活着的意义到底是什么。有人想做一番大事业,有人选择嘻嘻哈哈过一辈子,有些人过一天是一天,自己都不知道在干嘛。我以前很看不起后面的几种人,现在却觉得没啥不同,五十步笑百步罢了。作为一种复杂的碳基化合物,大脑都是天天在发生化学反应,结果没啥意义可言。我们活着,不都是为了刺激大脑,获得我们称之为愉悦满足的化学状态么。什么高尚,荣耀,真理,不过是我们称为地球的大石头表面上的微尘般的化合物体间冲突交互的微不足道的表现罢了。记得看过Daniel Dennett的一个演讲的视频,具体内...

夜晚的昏暗中金星太白闪烁于群星间,无数星辰繁灿于天空,数它最明亮.荷马史诗 伊利亚特在一个晴朗的夜晚,也就是昨天晚上,我拿望远镜对准了金星。金星处于太阳的内侧轨道,所以从地球上看去,就如月亮般,有圆缺变化,昨晚映入我眼睛的,是弯弯的圆弧。我开始思考人类知识经验的结构和处理方法,早上升起来的太阳,我们认为就是昨天的那个太阳,这种很自然的推理,是否存在缺陷?在一些动物看来,比如狗,今天的太阳跟昨天的太阳也许是另一个物体。金星在黎明升起来的时候,我们称之为启明星,古人有东启明,西长庚之说,认为是两颗不同的星星,跟傍晚那一颗不同。一颗星星只是一个闪亮的点状物体,要把它从夜晚灿烂的星空中单独识别出来确实有难度,除非我们看清楚更细节的结构,否则认为在不同时刻出现的同一颗星不同也是很自然的。太阳拥有可识别的唯一性,也没有其他众多干扰。我们把一个物体的若干特征提取出来,每一个不同的单独事物都用一个概念名字来标记他,再次遇到同种事物的时候就把它识别出来。大脑的组成单元应该是特征概念组成的集合,若干概念组成一个新的概念,新的概念又用来作为其他概念的组成部分,神经元之间的连接大致也是如此,或许大脑的基本数据结构就是这个样子。知识和经验作为静态存储存在于大脑中,操作这些数据的过程才是真正人类智能的起源,这个动态过程就是我们的自我意识,就是我们称之为“我”的那个东西。意识是从神经元之间的电脉冲信号和突触间递...

先指出一点,select的设计存在很多问题和缺陷select的几个参数都很诡异。许多人经常遇到的问题是每次调用过后没有重新FD_SET一下文件描述符列表,我刚接触这个函数的时候就被这个问题困扰过。今天又遇到了个问题。下面这段代码在我上大学的时候就写下了,一直工作的很好[code]int status(){ FD_SET(fd,&fset); return ::select(1,&fset,NULL,NULL,&s_timeout);}bool avail(){ int x= status(); if (x==-1){ perror("select()"); } // char buf[4]; // int err = recv(fd, buf, sizeof(buf), MSG_PEEK); // if(err == 0 || (err < 0 && errno != EAGAIN)) // throw 1; return x>0; }[/code]直到今天我把它移植到mac系统上程序可以正常的发数据包,但一直没有收到任何数据,花了一段时间折腾才定位到select一直返回为0但是这段代码在windows下工作的很好,为什么到了OS X上就失败呢?仔细的看了看文档intselect(int nfds, f...

吃饭的时候有一个问题浮现在我的大脑中,我们通过摄取食物提供生存的能量,而所有食物的根源来自于植物,以当今的科技水平,是否可以脱离植物,人工合成所需要的食物呢?人类需要从外界获取的物质可分为几类,糖类,无机盐类,氨基酸,以及一些维生素之类的小分子。其中所需的钠钾离子之类的无机盐类是广泛存在于地球之上的,剩下的几种,糖类是提供能量的,需要仔细讨论。普通存在于人类体内并起着重要作用的是葡萄糖,葡萄糖是一种单糖,分子式为C6H10O6,植物通过光合作用来合成,但并不是直接以葡萄糖的形式存储下来。能量来源于何处?归根结底,一个答案,太阳。上帝把这个核反应堆放置于距离地球1.5亿公里以外的地方,通过电磁波把能量传递到自由空间,而地球所接收的极小截面提供了所有生物赖以生存的能量。直接利用阳光的能量是不明智的,因为单位面积内的光线的能量密度很低,必须用一个特别大的接受装置才能提供发动机的动力。而且晚上没有阳光。其实在能量利用上,最大的问题不是如何产生能量,而是如何有效的储存能量。我们通常意义上讲的储存,一般都是通过分子间的电势能来实现的,比如,氢气燃烧释放出能量,这个过程涉及到跟氧气结合形成势能更低的水分子。相对的说,能量可以储存成氢气的形式。葡萄糖也是一样,通过跟氧气反应结合成二氧化碳和水,降低了静电势。显然,葡萄糖由于本身就是多个分子结合的状态,碳原子质量也比氢高很多,所以储存的能量密度比氢气...

先罗列下我的需求,有两台机器,一台windows 7,另一台mac,现在想在这两个机器间自动同步文件。两台机器位于不同的私有子网段,也就是说,躲在两个不同的路由器后面接入公网。因为nat的存在,使得两台机器间直接建立tcp连接成为不可能,想了几个方案:第一,通过一台有公网ip的机器中转,两台机器同时跟这台服务器建立tcp连接,定时交换文件时间戳并相应的更新。这种方案存在巨大的弊端,我的服务器在美国,两台挨在一起的机器,传送数据居然需要绕过层层路由跨过海底光缆传送到大洋彼端然后再传回来,速度慢,占带宽,太折腾。第二种就是udp打洞了,假设两台机器分别为A和B,中转机器为S,这样A和B都可以向S发送UDP数据包了,S可以得到NAT转换后的ip和端口号,由于UDP不是面向连接的,任何主机都可以向这个ip和端口号发送数据。理论上讲,只要S把这些信息告诉A和B,这两台机器就可以直接通信了。但是因为安全性的考虑,如果这个数据包的ip和端口号不是先前发给S的那个地址,就会被路由器丢弃。如何取得路由器的信任,是打洞最需要解决的问题。一个简单的想法是,A向B的NAT转换后的地址发送一个udp包,这样A的NAT对于B的这个地址就是敞开的了,如果B能发出具有这样地址的包,二者之间的连接就能建立起来。今天花了一个下午编写调试相应的代码,A和B之间的数据包始终不能成功接收,后来才意识到,A向B再次发送数据包...

最近想买辆车,相关的东西大致都看或者了解了下,以前对机械相关的专业了解的不多,甚至有些偏见。机械是个成熟复杂的领域,积累了很多研究理论,大量的极具巧思的器件。单单是对这些相关的器件的理解,足以对大脑的思考模式产生重大影响。举一个简单的例子,汽车在行进当中进行转弯的话,内侧和外侧的轮子的速度是不同的,这时候发动机的输出就要对不同的轮子进行适当调整,如何动态的做到?方法有很多种,最简单的方法,只用一个轮子作为驱动轮,这样其他轮子就只在地上滚动了,早期汽车用的就是这种方法,这种方法其实是在逃避问题,一个轮子驱动有很多弊端。现在的汽车都使用一种叫做差速器的简单装置,可以巧妙的处理这个问题,具体细节用文字解释起来比较麻烦,感兴趣的话可以到youtube上看相关的视频解说。现代的发动机是个复杂的装置,通过厂商鼓吹的一些技术特点,比如涡轮增压,可变气门正时,缸内直喷等,我们就可以猜测它里面的复杂性了,要通过经年累月的技术积累,不断的调整演化,才能成为一项成熟的产品技术,这也是国产发动机跟国外有很大的技术差距的原因。我们创造的任何事物和技术都处在不断的长期演变进化当中,其中有一些已经趋于稳定,比如剪刀,钳子,它们拥有简单的结构,材料结构的调整已基本最优,更多的变化空间已不大,但是我们仍然有各种针对特殊需求的剪刀设计出来,他们并没有停滞,只是稳定下来了而已。另一些还处于剧烈的变革当中,比如电视机,手...