博文

目前显示的是 四月, 2009的博文

我决定用icu换掉iconv

基于如下几点理由,我决定用icu换掉iconv1、跨平台gnu iconv 1.13在它的README中写到:“Building requires the mingw or cygwin development environment (includes gcc).MS Visual C/C++ with "nmake" is no longer supported.”既然它这么傲慢的抛弃了vc,那我也只有放弃它。icu支持所有我常用的平台:win/linux/freebsd/solaris2、版权gnu iconv也顺应潮流的采用了GPLv3,这个令BSD和GNU之间陷入无限争吵的东西。而icu采用的是一个类似于bsd的版权协议,更加开放自由。另外,icu还有如下几点好处:3、易于上手大部分vc程序员都是采用宽字符(utf16)编译、链接,而java用户更是没有选择的采用了utf16be。相对用过vc和java的人,icu的字符处理方式非常容易上手,况且,设计jdk/unicode的人和icu是同一拨人。4、文档详尽IBM作为一家大型的软件服务公司,写文档的能力真不是盖的。5、有IBM做强力支持所以,任何一个版本的发布都有严格的商业化测试。并且,比较贴近市场需求。比如,ibm需要在中国出售它的产品,而icu就是它唯一的法宝。中国政府要求在中国出售的软件必须支持gb18030,于是icu每个版本的变化都紧跟着gb18030的发展。6、有简洁的C++/java的接口我向以前的同事推荐iconv的时候,他们都在说使用起来太复杂。其实接口已经不能再简化了,一共也就open/close/iconv三个函数。可是对于C++程序员而言,巴望不得就像glib::ustring那样,完全仿照std::string那样让他用就好了,转码也就像java的String.getBytes(“gbk”)那么简单最好。7、容易和现有的项目整合发布数据都在dll里面,把用到的dll打包发出去即可。8、有高层的io/regex支持基于unicode的正则表达式支持,以及仿照stdio的基于unicode的io。我对前面这个很感兴趣,后面这个……貌似还是个比较粗燥的咚咚,另外,io实在是个太广义的东西,还是不要它来帮我抽象了吧

北医三院急救室

刚刚到家,不是因为加班,刚从北医三院急救科回来,一同事病了。
回来的时候路过北四环,所谓的七星酒店,水立方,鸟巢,一片灯火辉煌,安静祥和。而在不远处的医院,急救科躺满了人。简陋的大屋子,被帘布密密麻麻隔成几十个床位,咳嗽声,急促的呼吸声,屋里屋外以及走廊上,到处都躺满了人。屋口斜着的坡,因为有铁栏杆,于是拿铁链一拴,就能固定住2张床。屋外的长椅从来没空过,左手举着吊瓶右手输着液体,垂头,萎靡。昨天,我同事刚做完手术,就是在这样的长椅上坐了一宿。因为不要说住院了,连急救这边,都很难找到一张床。你无论是抬头看看屋子简陋的顶棚,还是看看周围这一片吵杂拥挤,你都会觉得这太不真实了,这是在拍抗战电影。如果你想找个医生护士问问这是怎么回事,好难。即便在这躺一整天,医生护士呆在你床边的时间加起来也不到5分钟,因为他们有太多太多的病人需要照看。除非你真的快要挂了
这已是我第三次来这边。其实已经习惯了。可是回家的时候路过鸟巢,就很不爽了一下。我在想如果国家肯把这片地以及建筑资金用来修建一座医院,那它将比10个协和还宏伟。你看看协和吧,当年洛克菲勒就这么在王府井选了一片地捐了一笔钱,它以及从它走出的医生,救了多少中国人!它的光辉真不是我在这里可以用只字片语描述的,他太伟大了,且意义深远。(而另一方面,从这里康复走出的病人却未必知道谁是洛克菲勒。)
你不去医院看看,不知道什么是人间地狱。你更不会想到如此繁华的首都的如此顶级医院,医疗环境竟然是这么的简陋。你现在可以不关注这些,但是,总有一天你也会生病的。你也会像谁谁谁一样被999送到急救科然后却找不到一个床位可以接纳你,就像等亲爹一样等医生来看你一眼,结果,上帝先来了

mailslot有什么优点?

今天看msdn的时候,第一次看到这个。搜了下,我的机器上只有thinkpad的access connection用到它了。它有什么优点吗?