Vincent F. Yang's profileVincent Feng Yang's Live...PhotosBlogListsMore Tools Help
    August 13

    Gmail的IMAP协议要把我逼疯了!

    是Gmail疯了,还是Gmail想把我逼疯?

    习惯了Outlook,将N多个邮箱都集中下载到我的电脑,这样在飞机上,在厕所里都能随时访问,尤其是附件。

    同时,不知大家发现没有,Gmail居然没有排序功能。固然有其忠实拥护者说Gmail改变了访问方式,一切都是用搜索。但是你要允许我有偶尔不用搜索的自由吧?比如,我要找一个邮件去年12月某人给我发的邮件,或者我要清邮箱时,想按邮件大小排序,Gmail界面根本不允许!这些,在客户端就轻而易举了。

    在用Outlook客户端时,我习惯用IMAP协议,这样理论上我的客户端和服务器端始终保持镜像。就是我删了任何一个邮件,客户端、服务器端一同步,就都删了;这样我只要做一次维护操作。G粉丝们,不要告诉我Gmail拯救了全世界,给每个人足够大的邮箱,从此人们不再需要删邮件了;我每天都收到一堆垃圾邮件,有可能还有病毒、木马,总得让我有删帖的权利吧?满世界的斑猪都有删我帖的权力,我的邮箱还不让我做主?

    但是Gmail的IMAP规则与全世界不同,有两点:

    1. 因为Gmail的IMAP文件夹是用标签实现的。就是说,一个IMAP的文件夹“客户”,对应的是网上界面中“客户”的标签。我将一个邮件移到“客户”文件夹,实际上是将网上邮件加了一个“客户”标签。反之亦然,移出文件夹,相当于去掉这个标签。特别是多个标签,相对目录的前后。即“客户,供货商”与“供货商,客户”,分别对应与“客户\供货商”与“供货商\客户”文件夹,有区别。

    2. Gmail有个“All Mail”, 这包括了东北人说的“一切及其他”的邮件。即所有邮件会下载两份,一份到相应的文件夹,但是一定有一份到“All Mail”。  如果你的邮箱到了1G,你就会知道系统会有多慢了。因为Gmail的IMAP服务是一个与其名声极不相配的质量,邮箱一过了700M,就是“Geeeeeee Mail”, 巨慢无比。

     

    这一切都可以忍受,毕竟是免费的大邮箱,而且人家的规则也不是完全没道理。俺们得了人家的好处,就得按人家的规矩玩。

     

    所以,我总是这样玩法:

    1)用网上IE浏览方式

    2)手机上,笔记本里Outlook,都用IMAP下载邮箱,但是不订阅“All Mail”,减少流量。(手机流量可是按KBytes算钱的,Google难道在移动有股份?)

     

    但是,我慢慢的就觉得速度有问题了:尤其手机上,基本上都超时;笔记本上,Outlook动不动就无休止的等待。

     

    不断地看了Outlook邮箱文件夹大小,一共也就350-400M,离700M公认的警戒线有相当大的距离。而网上Gmail告诉我有的邮箱大约在1.2G。太不靠谱了。

     

    今天受不了了,就按邮件大小排序,开始从大到小删帖吧。。。头上流汗、心中流血地删了N多贴,网上才少了4M?怎么回事?

     

    突然,打开了“All Mail”,  我傻了,我疯了: Gmail在里面忠实的保留了我所有的帖:所有的垃圾邮件,所有的病毒、木马邮件,所有我过去几年处理删掉不用保存的邮件。。。。。。

    几个小时过去了,Outlook告诉我,已查到5764个邮件头,Gmail IMAP服务的速度仅十几K。估计等明天才能下载完了。

    可是明天,我该如何处理这几年积累下的垃圾?要花多少时间?

     

    我每个邮件都曾逐个删掉,再到Trash文件夹中清空,两道手续,结果邮件居然是被完美的隐藏起来。我就不理解了,这是什么逻辑?难道“Inbox”也是一个标签?如果邮件没有任何标签,不该在默认的“InBox”文件夹吗?  我将“Spam”文件夹中的邮件删掉是居然是邮件的“Spam”标签去掉?  至少IMAP流程要和网上流程相对称吧?是我傻?还是Gmail太聪明了?

     

    我辛勤的维护我的邮箱,不用的就删,垃圾、有毒的就扫,以节省空间、流量;结果都被“Gmail”隐秘的珍藏起来,难道Google的存储、流量不要钱?是我有病?还是Gmail疯了?

    URL: http://vincentyang.cn/blogs/vincentyang/archive/2009/08/12/gmail-imap.aspx

    August 06

    卫生部发布《电子病历基本架构与数据标准(征求意见稿)》

    2009年7月31日,卫生部发布《电子病历基本架构与数据标准(征求意见稿)》,较前一版本,主要增加了电子病历基本架构部分。

    URL: http://www.moh.gov.cn/publicfiles/business/htmlfiles/mohbgt/s6694/200908/42155.htm

    卫生部办公厅关于征求《电子病历基本架构与数据标准(征求意见稿)》意见的通知

    各省、自治区、直辖市卫生厅局,新疆生产建设兵团卫生局,部属(管)医院:

    为贯彻落实党中央、国务院关于深化医药卫生体制改革的意见,推动医院标准化电子病历建设,我部组织专家研制了《电子病历基本架构与数据标准(征求意见稿)》。现印发你们,请你们组织相关医院和专家提出修改意见,并于8月底前将意见反馈卫生部信息化工作领导小组办公室(征求意见稿文本在卫生部网站下载)。

    联 系 人:卫生部统计信息中心 汤学军、胡建平

    联系电话:(010)68792477、68792481

    电子邮件:tangxj@moh.gov.cn;hujp@moh.gov.cn

    附件:电子病历基本架构与数据标准征求意见稿.rar

    二OO九年七月三十一日

    (信息公开形式:主动公开)

    URL:http://vincentyang.cn/blogs/vincentyang/archive/2009/08/05/862.aspx

    August 03

    从14连号概率题来看“做学问不知足”

    前几天,博客摘录了《裘法祖:“做人要知足,做事要知不足,做学问要不知足。”》,后来又写了《一个概率题:从1138号中抽签514号,有14个连号的概率多少?》。

    这里好奇心、好战(喜欢挑战)心,好斗(不服输)心,也许在作怪,心里反反复复,一直放不下。也许是对“做学问要不知足”做了一个绝好的注释。

    第一回:常识+平常心 非常必要。

    从小就有一句话:学好数理化,走遍天下都不怕。这句话以偏概全,也许误导了好几代人,因为学好数理化不是充分条件。但是在许多时候数学是成功的必要条件(要求)。比如,学好数学的排列组合概率,你对中彩票会有相应的理解,也绝不会上传销的当。

    在这次老河口市14连号,与上次武汉市6连号事件中,就有许多常识问题要提醒大家。

    上次武汉6连号,已证明是舞弊,相关人员就已被处理。

    这次老河口市居然14连号,一下子更是引起轩然大波。因为直观上,6连号是作弊,14连号的绝对更是作弊。网上的博客,一些记者(学文科的概率极大)纷纷撰文,有一个标题最有意思《“6连号”是丑闻,“14连号”是趣闻?》,其中质疑“估计武汉“6连号”当事人要郁闷了,人家“14连号”都是正常的,为什么当初要揪着我“6连号”不放?”。

    我不想介入敏感话题,也希望并相信相关部门能调查清楚,还原事实真相。在这里我只是就数学问题进行科普:这次14连号的概率真的比6连号大得多,而且已到了不能忽略不计。

    理由是:武汉市是5141选124名,出现6连号。老河口市是1138名选514名,出现16连号。

    分析:

    武汉,每个中签率是124/5141=2.412%, 出现6连号的概率是千万亿分之一,(据专家数据,本人严重怀疑;本人估算约为亿分之一;按下不提)。这种事情基本上为不可能时间。这就是常识。

    老河口市,每个中签率是514/1138=45.167%,出现14连号的概率为0.84%。(又有专家得出1.49%的概率,这和本人目前的错误算法如出一辙,且看下回分解)。这种概率比彩票(六合彩等)的概率多几千几万倍,已不能忽略不计。因为根据百度数据

    看“国家统计局网站”或者“行政区划网”

    县级市374个;1642个县(自治县、旗、自治旗、特区和林区)。 截至2003年底,全国县级以上行政区划共有:23个省,5个自治区,4个直辖市,2个特别行政区;51个地区(州、盟),比上年减少了6个;660个市,其中:直辖市4个;地级市282个,比上年增加7个;县级市374个,比上年减少7个;1642个县(自治县、旗、自治旗、特区和林区),比上年减少7个;845个市辖区,比上年增加15个。全国共设有5个自治区;30个自治州;117个自治县;3个自治旗。

    就是说,如果600个市,按0.84%概率,会有5个市出现这种情况。

    这里我用极端的比喻解释: 因为老河口中签率高,中签数又高,所以14连号的概率非常高,如果算6连号的可能性几乎百分之百。大家想象一下,如果1138个选13个,不可能有14连号;选14个,可能是14个都在一起,也许是千万亿分之一;如果1138选1138个,那么14个连号以上是百分之百,因为1138个号全连一起。搁东北话说:“那是必须地”。

    所以大家姑且用平常心,静观事态发展。如果有舞弊,好,抓一个是一个。不过没有,就相信这是个趣闻吧。

    第二回:做学问要不知足 非常重要

    我觉得人活着要有追求,有思想,有活力。所以求知欲、创新能力、坚韧性非常重要。至少对延缓“帕金森综合症”有绝对好处。这里我将“做学问要不知足”简单解释成好奇心+好战心+好斗心几个特性。

    我的博客一稿多投,却发现这个挑战题的回应不同。

    · 我个人网站(www.vincentyang.cn):这个网站自从遵守**法令,去掉匿名回帖后,就没法回帖了。只是作为我的文稿存档。

    · MSN Live Space:这幸亏有个医学博士朋友,被我点名挑战,回答了。(答案基本思路与我错误一样)。

    · 一个医学网上博客:几乎没人知道,我都不看。

    · CSDN 博客:这有18个回复,出乎我的意料。其中还有引到另一个网站(http://www.newsmth.net/bbstcon.php?board=Mathematics&gid=72337),看来我绝不是绝无仅有的“闲的病”患者。只是其中有些解法我“有看没有懂”。

    · CSDN学生大讲堂:没有一个答案,这也出乎我的意料。因为我觉得,学生应该有能力,时间,精力来解决这类问题。固然现在哪的人气还不旺,但是是否大家都缺乏一种“好学、好战、好斗”精神,这有点令人担忧。

    所以在裘老“做学问要不知足”鞭策下,花了点时间动手解题,其中一波三折,富有戏剧性。

    (一)科班的排列组合解法

    这是个典型的排列组合问题。可以看做有1138个格子,在其中选出514个格子放上标志(比如放个珍珠)。

    所以,所有的可能总数为

    clip_image002

    其中:有14个连号的情况如下:

    第一步假想先有14个珍珠,连成一串14节的项链,放在1138个格子上,那么项链头可放在1, 2, …, (1125=1138-14+1)格上,(因为从1126格开始,项链尾就出了1138格了)。共有1125种可能性。

    第二步,就是把余下的500=514-14个珍珠放在余下的1124=1138-14个格子里。这又是典型的排列组合:

    clip_image004

    所以答案是:

    clip_image006
    clip_image008

    (注:这里面包括了多个14连号,15个以上连号的问题,所以这个概率数严格的定义是有14或更多连号的概率)

    (二)编程算法碰壁:

    有了这样的答案,就好办了,懒鬼杨某绝不会用计算器一个一个键敲的。

    第一选择是Excel,碰壁,居然没有组合函数!

    得,第二方案:我自己写程序。估计不用100行,容易。设计也很简单,一个阶乘子函数double Factorial(int N); 一个组合子函数double Comination(int M, int N),再加个子函数MyPossibility(int m, int n, int length),主函数直接调用,在屏幕输出就好了。十分钟搞定。

    结果,系统出错。设断点,查Bug。

    傻了:即使我已经英明的选用了64位double数,可以存大约324位十进制数,1138!绝对没法算,专业术语叫系统溢出。

    (注:这就是项目管理中说的,凡是你认为不可能发生的问题,一定都会发生!也就是许多软件看上去简单,实际上所好都有技术含量,一分钱一分货。

    昨天和一个院长谈,他说他们医院选了一家北京公司做HIS,结果做了两年内没做出来,现在可能做不下去了。仔细一谈,原来系统大约四、五十万,还要求按照他们的要求订做,还希望有LIS,PACS。我和院长说,这个价,你没法做,失败是意料之中的。我给他算一本帐,现在一个本科大学生,大约3000-3500一个月,加上五险一金,每个月成本至少5000。四、五十万扣掉营业税,差旅费,只够我请4~5个大学生做两年。那你得到的就是大学生给你的产品。因为任何系统做好都要花大钱的,绝不只是算一张光盘多少钱,而且都是定制的软件是没法维护的)。

    (三)简化算法:

    直接算没戏了,只好回到数学算法来简化,结果比想象的简单:

    clip_image006[1]
    clip_image008[1]

    clip_image010

    clip_image012

    clip_image014

    clip_image016

    这样,算法就非常清晰了,而且,分解到最后一步,就不怕溢出了。 就是用Excel,也能算出来:

    P(1138,514,14) = 0.014995   // 14个连号以上

    P(1138,514,15) = 0.006664   // 15个连号以上

    这样14连号(不含15以上连号)的概率为0.00833

    第三回:做事要知不足 绝对真理

    好了,到此为止,我的算法理论上看似完美,和许多大专家观点一致。可以开始写博客了,发表解法了。

    呵呵,“做事要知不足”,否则绝对报应。

    首先,我用算法顺便就想算算出现1连号,2连号,…,20连号各多少?(好奇心,想画一个曲线,看看趋势)

    又傻了,屏幕显示:

    P(1138, 514, 1) = 514
    P(1138, 514, 2) = 231.706502636204
    P(1138, 514, 3) = 104.339251846734
    P(1138, 514, 4) = 46.9342937444375
    P(1138, 514, 5) = 21.089418334505
    P(1138, 514, 6) = 9.46606166866227
    P(1138, 514, 7) = 4.24427125126252
    P(1138, 514, 8) = 1.90092360811846
    P(1138, 514, 9) = 0.85045742326078
    P(1138, 514, 10) = 0.380071680306808
    P(1138, 514, 11) = 0.169668845770267
    P(1138, 514, 12) = 0.0756590686369187
    P(1138, 514, 13) = 0.0337008451248742
    P(1138, 514, 14) = 0.0149947810013872
    P(1138, 514, 15) = 0.00666434711172764
    P(1138, 514, 16) = 0.00295863808607837
    P(1138, 514, 17) = 0.00131202294467233
    P(1138, 514, 18) = 0.000581172373887833
    P(1138, 514, 19) = 0.000257146741702378
    P(1138, 514, 20) = 0.000113649676020247

    啊?有概率 》100% ? = 51400%?一看就错了。

    再分析,按我的解法,有许多重复计算的错误,

    1) 比如14个一串的项链,前头加1个,或后头加1个,成为15个一串时,被重复统计。

    2) 如果有两串14个一串的项链,同样被统计了两次。

    3) 类似重复统计的可能性太多,且不能简单排除。

    同时,通过一个5个选3个案例,手工列举所有10种可能;有1连号、2连号,3连号的的概率为10%,60%,30%。 不一定是越短越大。而通过我原来的算法,2连号的概率为120%,所以绝对错误。

    (注:在CSDN博客上,有XYYHun 的程序模拟出来的结果是: 摇奖1000000次,出现14次连号次数8443,概率为0.008443。我比较相信,如果算法验证无误,这是检验正确答案的最佳方法。)

    (又注:上述0.84%概率是包括15个以上连号的,与我得到的0.83%,碰巧想近,但不是一个概念)

    第四回:做人要知足,为什么我不甘心?

    嗨,害人害己,原想挖个坑害人,结果把自己坑进去了。一整个周末,脑子了挥之不去的诱惑,最后得到的“自叹不如,江郎才尽”的感叹。想过一些递推或递归的算法,但我知道这都不是我现在数学能力能解决的了。

    好吧,洗洗,睡吧。

    难道这就是裘老说的“做人要知足”? 太不甘心了!

    URL: http://vincentyang.cn/blogs/vincentyang/archive/2009/08/02/860.aspx