Browsed by
Author: YI

孤独的孩子

孤独的孩子

下午带孩子去隔壁小区玩“挖沙”。小孩的乐趣实在是非常简单,一个小小的沙坑就能让他们玩得不亦乐乎,流连忘返。

毛豆在沙堆了挖了几个坑,扬了几把沙,心情很兴奋。他看到几个小朋友在另一边玩沙,兴冲冲地跑过去,想一起玩,可惜孩子们都拒绝了,抱着自己的小铲子、小车子跑一边去了。

这实在是让人看不下去。现在的小孩各方面物质条件无意已经非常好了,可是在精神方面的培养呢?孩子们的身影都显得比较孤独啊。

定位DLL导致crash的问题(BCB适用)

定位DLL导致crash的问题(BCB适用)

4.1日的消息果然是个joke,现在各大网站恢复以前的主页了。

回到这篇的主题。在定位crash问题时,首先要在编译版本时生成map文件。程序崩溃时,windows提示的offset地址,与VC生成的map文件描述比较一致,而BCB生成的map文件描述方式与VC的描述方式不太一样,有些地方需要注意。

例如,我们有个demo.exe程序,调用了demo.dll,程序崩溃,windows提示:在demo.dll中崩溃,offset地址为0x00002C90。

定位时,我们需要减去0x00001000,然后在map文件中寻找比0x00001C90小,但是最接近这个值所对应的函数描述。在BCB生成的demo.map文件中,我们可以找到以下代码段描述:

0001:00001C78  Cdemo::GetDemoInfo(Cdemo_info *)

因此基本判断是在函数Cdemo::GetDemoInfo中出错,需要对该函数进行review和测试。

是愚人节笑话吗?

是愚人节笑话吗?

在网上看到一个相当让人震惊的消息:

据说Debian / Arch / Gentoo / OpenSUSE / Grml五大发行版本计划合并为一个发行版本,这个新发行版本叫Canterbury。如果这不是笑话的话,对Linux社区来讲会是件非常重大的事情,意义可能非常深远。现在Linux的发行版本确实太多了,分散了社区的开发力量。

但是为什么取名Canterbury呢?听上去像是个地名。

MySQL与幻象读

MySQL与幻象读

最近在部署系统的过程中,发现MySQL的一点问题,进行简单总结。

实际上就是关于事务隔离级别以及幻象读的问题。

我们的程序分成两个部分:UI层以及Service处理层。UI层使用MySQL的C库接口创建连接;Service层采用Python的MySQLdb您(底层仍然是MySQL的C接口)创建连接。

因此,实际上会与MySQL创建两个连接。

在windows环境中,如果我们通过UI修改了MySQL的数据,我们发现在service层查询时,还是以前的数据,而不是commit之后的数据。

采用Ubuntu系统下的MySQL时,没有这个问题。UI修改了MySQL数据后,Service能立刻查询到最新的结果。

我们发现,Ubuntu下的MySQL(5.1.49-1ubuntu8.1 (Ubuntu))版本较旧,采用MyISAM引擎。而Windows环境下的MySQL(5.1.53-community MySQL Community Server (GPL))较新,采用InnoDB引擎。将Windows环境下的MySQL强制指定为MyISAM时,问题也能解决,不再出现幻象读。

使用下述命令查询了Ubuntu和Windows的配置,都是REPEATABLE-READ:

SELECT @@tx_isolation;

SELECT @@global.tx_isolation;

判断,InnoDB的事务处理级别REPEATABLE-READ还是会出现幻象读。在程序中强行将session级的处理修改为READ-COMMITTED后,问题也解决,不再出现幻象读。

set session transaction isolation level read committed;

这个似乎与网上的资料有些不一致,据说REPEATABLE-READ不会出现幻象读,而READ-COMMITTED级别才会出现。实际结果是相反的。

另外,就我们的应用来说,select操作多于insert/update操作,而且数据量不大,因此MyISAM比InnoDB更适合我们的应用,可惜高版本的MySQL将缺省引擎给换成InnoDB了。

普拉哈拉德

普拉哈拉德

看到一个与传统不太一样的说法:为了更好地认识未来,我们有必要忘掉过去。这个观点来自普拉哈拉德,一位很伟大的管理大师,影响了N多CEO。

我们传统的观点中,非常强调对过去经验的学习,甚至有说法:忘记过去,就意味着背叛。

而现在的我,确实需要忘掉过去,重新出发。以此文纪念我在U公司的悠长岁月。

Firefox 4很给力啊

Firefox 4很给力啊

听说Firefox升级了,而且是个重大的升级,有点心动。以前很支持Firefox,后来在某个3.x版本的时候体验不好,经常假死、崩溃等等,因此转向了Google chrome。老实说,我对Chrome感觉极好,尤其喜欢它的书签同步等功能,而且速度超快!从那以后,就再没用过Firefox了。

今天在家里的电脑上下载安装Firefox 4,顺利检测到旧版Firefox并进行升级。升级过程很顺利,不过对Google toolbar的支持被中断了,看意思是不兼容。启动起来后,试了几个网站,尤其是javascript很多的一些网站,感觉很不错,速度也是非常快。在Firefox中,居然也发现了同步功能,要是能把Chrome的书签同步过来就好了。

目前还在试用过程中,感觉Firefox 4还是下了很多功夫,很给力!

科学与技术

科学与技术

我在科技园上班,平时都是坐公交车,一般只注意车上电视播报的新闻和搞笑节目。今天下车的时候,注意到车上放的语音提示是:…scientific and technology park….。这让我产生了一些关于“科学与技术”的发散性联想。

平时我们说科学技术时,往往是把它们联系在一起的,没有具体的区分,似乎科学就是技术,技术也是科学,甚至直接简称为科技。前两天看到一个新闻,大意是苹果公司一高管辞职了,理由是以前太专注技术,现在要开始研究科学了。很显然,在这位高人的眼中,科学和技术是不等价的。

那么科学和技术的区别在哪里呢?以我的理解,可以简单地概括为:科学是用来回答“what”,而技术是用来实现“how”。

科学和技术确实不等价,科学的境界要高于技术(不是否认技术的重要)。境界不同,会导致视角的不同,最终的产品和成果也会高下立判。例如,Nokia 站在工程技术的角度制造手机,因此虽然它是多年手机领域的大佬,它仍然集中在回答和实现“how”上,例如如何才能不摔坏手机,如何才能保证信号清晰等工程技术问题。而Apple 呢?显然出发点不一样,它首先回答的是“人和手机的关系是什么”? “移动宽带会带来什么影响”?等等问题,这些问题如果深入研究的话,搞不好要进入社会学研究等完全不搭界的领域。

当然,Apple 也关注技术问题,例如如何制作漂亮的金属外壳等等,但是好无疑问,Apple 的手机绝对不会比Nokia 的手机更抗摔。so what?!

境界决定了最终的成果,决定了最终的方向。作产品也好,作教育也好,我们应该多关注一些科学,给与科学更多的尊重。

 

为windows环境下的mongoose作一点小修改

为windows环境下的mongoose作一点小修改

最近在产品中嵌入mongoose作web服务器,对外提供Ajax接口以及提供一个简单的web管理界面。从我们的开发和使用情况看,mongoose确实是个很不错的产品。将SSL的功能删除后,整个功能模块非常小巧,非常适合作产品的配置管理服务器。

由于我们的产品主要面向windows平台,因此我们需要花点时间对mongoose进行改动。这两天遇到一个非常奇怪的问题,mongoose发出的json流是空的,而我们调试发现送给mongoose的数据是正确的、情绪很稳定的json流。这让人很纠结。

当然这个问题最终解决了。mongoose代码中使用了BUFSIZ的宏定义,这个定义在windows中是标准库中有定义,缺省值是512。当需要发送的数据超出这个限制时,mongoose会丢弃整个包。去修改windows的标准定义显然是不合适的,因此在mongoose.c文件头,重定义后再编译即可。考虑到我们发送的数据量比较大,我们直接将它重定义为4096:

#ifdef BUFSIZ
#undef BUFSIZ
#endif
#define BUFSIZ 4096

为什么我们比日本人还恐慌?

为什么我们比日本人还恐慌?

日本发生了地震和海啸,情况确实比较惨,让人很同情。在同情之余,我同样认为这是老天对他们的报应,虽然残酷,我也不想假惺惺地装高尚。从电视介绍的情况看,日本人的国民素质让人肃然起敬,不得不说这是个强悍的民族。在这样的天灾面前,居然保持极高的镇定:没有人闯红灯、没有人哄抢、没有商店乘机疯长商品价格、大家都在排队买(或者接受)商品,甚至在广场聚会后没有留下一片垃圾!这是发生重大自然灾害后的场景吗? 没有影帝和农民艺术家飚戏,没有催人泪下地感谢XXX,有的只是紧张有序的自我救援和相互关爱。这真是个奇怪的民族!

而今天我彻底汗了!

今天老妈跑遍了各超市、菜场,居然没有买到盐!请注意,是盐!不是什么贵重稀罕的东西。传言日本福岛的辐射有影响,大家疯了似地开始囤盐了!有货的超市也乘机开始涨价,平时卖一块钱一包的盐,现在卖五块了!你还别嫌贵,爱买不买!

这让我十分恍惚,感觉就像被穿越了,到底是哪里发生地震、海啸?!这实在是耻辱!当整个国民素质开始堕落后,我们也会有自己的报应!(电视上在报道“健身猪”的事情,这真是黑色幽默,吃了瘦肉精的猪居然叫“健身猪”)

顺带鄙视一下嬉戏TV,这几天就像打了鸡血,整系列整系列地报道日本的灾情,精神很亢奋,仿佛地震海啸是发生在中国,主持人的表情都很沉痛,就像自己的亲人被灾了。而对同期发生在云南盈江的地震却少有提及,仿佛这事不曾发生过,或者不曾发生在中国。这同样让人感觉很穿越,实在是无语。

治疗心血管堵塞的一个偏方

治疗心血管堵塞的一个偏方

中午中央电视台一个中医药节目,介绍了一个90岁老人治疗心血管堵塞的情况。这位老人曾经中风过,后来据说长期坚持这个偏方,现在仍然很健康,居然还天天去菜场买菜。

这个偏方也比较简单:就是将生黑豆用山西老醋(?陈醋,看上去黑黑的)泡两个月后,每天吃两勺这种黑豆。注意是生黑豆,不要弄熟了再去泡。

看上去似乎就是软化血管。