汤姆斯河(四)溯源·炼金术的另一个分支

本文作者:白鸟

==================================================

科学松鼠会刊出的汤姆斯河系列文章为2014年普利策非虚构小说获奖作品《汤姆斯河:一个美国癌症村的故事》的系列节选。该书讲述了一个美国无名小镇与一家国际著名化工企业之间迁延半个多世纪,关于污染与经济的爱恨情仇。

本章描述了文艺复兴中后期,职业与环境流行病学是如何在一个科学即将被启蒙的时代,由一名满嘴酒气疯疯癫癫的医生带动着,跌跌撞撞的起步的。

==================================================

从染料商离开巴塞尔来到汤姆斯河这一年算起,四百二十年前,一个人也在深夜离开了那座城市,他是一位牢骚满腹自学成才的医生,对化学的应用和对疾病本质的认识离经叛道。他逃离了自己的生活。虽然为同行不齿,这个游方医生却深信自己的理论终将胜利,尽管他无法预见这个理论在一个海外小镇的污染和迟来的补偿中起到的重要作用。他贫寒,却有一个贵族的名字: 德奥弗拉斯特·博姆巴斯茨·冯·霍恩海姆,而他几经修饰选定的笔名显示出极端的自信: 帕拉塞尔苏斯,拉丁语,意为“超越塞尔苏斯”。(塞尔苏斯,生活于一世纪,参与编纂了百科全书,撰写了罗马医学的重要纲要。)

【帕拉塞尔苏斯的画像,Quentin Matsys绘 图片来自维基百科】

早在巴塞尔成为化工摇篮之前,它是学术中心。1527年年初,帕拉塞尔苏斯中断了他在中欧的漫游——这是他终其一生都在做的事——去往巴塞尔治疗一位著名的病人: 画家约翰·弗罗本。弗罗本当时借住在更出名的人文主义神学家伊拉斯谟家,伊拉斯谟也病着。帕拉塞尔苏斯将他俩暂时都治好了。出于感激,两位名人为他安排了一个职位,城市医官和巴塞尔大学的老师。帕拉塞尔苏斯很快就透支了这份感激。他总是怒气冲冲,对人恶语相向,尤其是喝多了的时候,他不放过任何机会去诋毁他不认同的人,给他们最大的羞辱。(注:被逐出两年之后,帕拉塞尔苏斯恢复流浪者身份,他这样记录自己的批评者们:“你们都得死,躲到什么鸟不拉屎的犄角旮旯都没用。我将称王,我说的话是帝王之声。”此话出自帕拉塞尔苏斯的《超越粮食之书》[此处英文中对书名的翻译有误,该书维基百科译做“奇迹医粮”]第73页,本书则摘自尼古拉斯·古德里克克拉克德语版的《帕拉塞尔苏斯: 基本读物》,北大西洋出版社1999年版。)

1527年6月24日圣约翰日的篝火旁,帕拉塞尔苏斯让学生烧掉阿维森纳的书。这位五百年前的波斯医生在文艺复兴时期很受医生们的推崇,在巴塞尔大学也不例外。(注:这次与帕拉塞尔苏斯有关的恶劣的焚书事件究竟是真实发生的,还是其追随者后来杜撰的,学术界说法不一。有的版本的故事中帕拉塞尔苏斯烧的是盖伦的一本小册子,不是阿维森纳的书[他的波斯语全名是阿布·阿里·锡纳·巴尔希]。但各种版本里都有充足的证据说明帕拉塞尔苏斯在巴塞尔短暂逗留期间与该城的权贵树敌太多。可见于亨利·M·普拉格的《魔法变科学——帕拉塞尔苏斯的故事》[萨姆纳出版社,2007年],此书初版于1951年,当时普拉格是纽约城市大学城市学院的历史学教授。)不久之后,帕拉塞尔苏斯的资助人弗罗本再度染病并最终去世,而帕拉塞尔苏斯因一位生病的教士不肯付账而身陷官司。1528年年初他失去了教职,在法庭上侮辱法官后被判离开巴塞尔,否则将面临监禁或更严重的后果。他没再回来,1541年去世,死前正在为另一位神职人员治病(尽管他曾赌咒发誓再不干这个了),这次是在萨尔茨堡。

让仅在巴塞尔待了一年的帕拉塞尔苏斯饱受鄙视的——除了他本人的暴躁性格和自视甚高之外——是他显露出的对传统医学的蔑视态度。他不能容忍那些包含着文艺复兴时期医学教条的希腊、罗马、伊斯兰教材。他写道:“告诉你,我脸上的胡茬知道的都比你和你的抄书员多,我的鞋扣都比你的盖伦、阿维森纳博学,我的胡子都比你们那些高等学府经验丰富。”(注:语出《超越粮食之书》,摘录于《帕拉塞尔苏斯: 基本读物》,第74页。)他反对最激烈的是“体液学说”,传统上认为疾病是四种体液间的失衡造成的,四种体液是指血液、黄胆汁、黑胆汁和黏液,分别对应世上的四种元素气、火、土和水。1527年夏天,帕拉塞尔苏斯在巴塞尔发表了一个简要的声明,声称他的使命就是通过改进他设计的新疗法来纠正同行们的错误认识。“这些并非出自希波克拉底或者盖伦的只言片语,而是我在经验——这个最高导师——的基础上经过长期的不懈努力重新创造的。如果我要证明什么,不会去引用权威,而是去实验和推理。”(注:关于帕拉塞尔苏斯在巴塞尔讲课时发的著名传单中的词句也存有争议,因为他的随从和敌人在多年后出版了多个版本。此处引用的出自《魔法变科学——帕拉塞尔苏斯的故事》,第152—153页。)

这几句被印在一张传单上,于1527年6月5日在巴塞尔街头派发出去的话中,帕拉塞尔苏斯明确宣告了一种新的科学,不是基于教条,而是出自观察与实验。实际上他并不总是践行自己的话。他的循证医学也包括了大量的神秘主义和炼金术,他的一些重要主张——包括有体液说风格的概念: 万物皆由水银、盐和硫磺构成(这些词在这里指的不是它们现在的字面意思)——错得和他想取代的传统概念一样离谱。但无疑,拒绝教条、密切观察病人、详细记录病例、实验各种疗法并记录结果,这些使得帕拉塞尔苏斯成为欧洲最著名的医生,被同行排斥,事迹却被传颂。他的理念的传播——尤其是在他死后——是文艺复兴晚期科学革命的刺激因素之一。他在巴塞尔的尝试失败三百年后,这些理念仍对主流医学的改革起着作用。

帕拉塞尔苏斯对前人所谓智慧的质疑也帮助推动了知识分子们长达一个世纪的讨论,这些讨论催生了化学工业和医学的新分支——毒理学和流行病学——这两个分支日后将被用来应对工业产生的致命后果,比如发生在汤姆斯河的情况。所有这些帕拉塞尔苏斯的“遗产”都源于他的一个理念: 疾病的本质是化学作用,因而它的治疗也是化学过程。在手稿中他说的是“炼金术”而不是“化学”,但他指的不是中世纪那种试图炼铅成金的法术,他的疗法也不同于放血和草药配伍。对帕拉塞尔苏斯来说,化学反应过程,将纯物质从杂质中分离出来的过程,既是神圣的,也是现实的,神在创世(混沌初开)时用,帕拉塞尔苏斯在拿玻璃容器蒸馏时也用。威廉·亨利·珀金1856年从煤焦油里分离各种组分并意外催生化学合成工业的时候,遵循的正是帕拉塞尔苏斯的传统。而珀金的对立面,七年后第一个去调查并报告这个行业的可怕后果的巴塞尔化学家弗雷德里克·高贝尔斯莱德,遵循的也是帕拉塞尔苏斯的传统。

帕拉塞尔苏斯关于污染与疾病的观念因他写的书而得以传播,这本书被认为是第一部详细论述职业卫生的教材,名叫《斯尼伯格矿山病及其他矿工疾病》。(注:帕拉塞尔苏斯关于矿工疾病的书《斯尼伯格矿山病及其他矿工疾病》(Von der Bergsucht und anderen Bergkrankheiten)写于1533年,直到1567年他去世二十六年后才出版,尽管此书被认为是第一部详细论述职业卫生的教材,但在此之前至少还有一人有过尝试。1473年德国医生乌尔里奇·艾伦伯格为金匠写了一篇短文“有毒有害蒸汽及烟雾”(Von den gifftigen besen Tempffen und Reuchen)。该文1524年以小册子的形式发行。另外,与帕拉塞尔苏斯同时代的乔治·鲍尔,他的笔名阿格力可拉更出名,1541年发表了“金属的性质”(De Re Metallica),该文主要描述了采矿业,但也涉及了矿业疾病和预防措施,包括通风井。)

帕拉塞尔苏斯小时候曾做过冶炼工的学徒,听着矿工们讲的故事长大,故事里山上的地精用有毒的蒸汽守护它们的矿藏。后来,当他再返回矿井的时候,他已经是一位医生,迫切想要了解冶金的秘密,医治吸入采矿和加工中的有毒烟气的工人。和他所有的书一样,大段的“斯尼伯格矿山病”对现代读者来说晦涩难懂,他对疾病的解释也驴唇不对马嘴,他信誓旦旦地说汞中毒的症状——发抖和牙齿打战——受星星和月亮的位置影响。尽管有这些错误,他在书中成功地描绘了砷汞中毒的症状,第一个观察到了污染物可以进入肺部引起慢性疾病。几乎可以肯定,帕拉塞尔苏斯所描述的“萎缩病”就是肺癌,他甚至注意到,不单单是这个行业的工人,旁人如果在矿井或熔炉附近待的时间太长也存在风险。(注:根据伯纳迪诺·拉马齐尼1700年出版的《工人的疾病》,希波克拉底也提到了矿业疾病,并指出不只是矿工会受到“金属瘟疫”的影响,“离矿井太近的其他人”也会。所以,死于公元前约375年的希波克拉底可能是第一个认识到污染的危害不止于直接接触人员的人。)

帕拉塞尔苏斯不幸的一生于1541年结束之后,一代代不循常规的科学家们——他们当中很多还联合外行——完善着他的理念,为环境医学这门新学科做出贡献。其中影响最大的是意大利医生伯纳迪诺·拉马齐尼。不同于他那些认为出行有失体面的同行,拉马齐尼坚持亲自检查工作环境,收集病人详细的工作史。他在1700年出版的《工人的疾病》对五十二种与行业相关的疾病做出了极其精确的描述,包括制陶工的铅中毒,制镜工的汞中毒,还有伏案苦读者的脊柱弯曲和精神负担。拉马齐尼敏锐的观察堪为后世工业卫生学者的表率。他提出的预防措施包括: 沐浴、锻炼、通风、手套、面具、隔离危险材料等,这些最终成为公共健康管理的基础,这门学问令汽巴、嘉基和山德士公司在巴塞尔、在辛辛那提、最终在汤姆斯河烦恼不已。

从帕拉塞尔苏斯和拉马齐尼第一次确定疾病与化学污染之间的关系起,他们就建立了一种新的医学,拒绝承袭教条,而是专注于每一个病人的具体经历: 他们呼吸了什么,接触过什么,吃过什么。没有传统的牵绊,他们得以洞悉他人所忽视的,比如矿工的肺部损伤,制镜工的记忆损伤。他们只能猜测造成这些疾病的具体原因,这些猜测很多都是错的。但重要的是,疾病不再被敷衍成各种不可控因素的产物,什么变化莫测的上天、山里嫉妒的地精,或是不平衡的体液……现代社会也有类似的借口——“就是运气不好”,或者“一定是你的基因有问题”(汤姆斯河镇的人们两种理由都听到过)——但同样站不住脚,至少绝大多数病例根本不遗传。在帕拉塞尔苏斯和拉马齐尼之后,已可以确定很多疾病是人类行为导致的。风险可以通过预防减少,也可能因无所顾忌地追逐财富而增加。煤焦油化工的兴起使得这两个选项变得更加对立,但在前工业化的时代,在采矿场和小作坊中,这一对矛盾早已存在。帕拉塞尔苏斯明白这个道理,他写到:“我们也需要金、银和其他金属,铜、铁、锡、铅、汞。要想得到这些,我们必须冒着生命与健康的风险与很多敌人斗争。”(注:引自帕拉塞尔苏斯《斯尼伯格矿山病及其他矿工疾病》的第三册第一章。亨利·G·西格里斯特《德奥弗拉斯特·冯·霍恩海姆,人称帕拉塞尔苏斯的四本论文》(约翰·霍普金斯出版社,1941年),第68页。)

当1952年汤姆斯河镇巨大的新工厂开张营业的时候,帕拉塞尔苏斯的两个传统——大胆的化学实验,和对实验健康后果的密切观察——在工业化时代紧紧地联系在了一起。但两者中只有一个可以带来持续的收益。

计算的极限(十一):黄金时代

本文作者:方弦

计算无处不在。

走进一个机房,在服务器排成的一道道墙之间,听着风扇的鼓噪,似乎能嗅出0和1在CPU和内存之间不间断的流动。从算筹算盘,到今天的计算机,我们用作计算的工具终于开始量到质的飞跃。计算机能做的事情越来越多,甚至超越了它们的制造者。上个世纪末,深蓝凭借前所未有的搜索和判断棋局的能力,成为第一台战胜人类国际象棋世界冠军的计算机,但它的胜利仍然仰仗于人类大师赋予的丰富国际象棋知识;而仅仅十余年后,Watson却已经能凭借自己的算法,先“理解”问题,然后有的放矢地在海量的数据库中寻找关联的答案。长此以往,工具将必在更多的方面超越它的制造者。而这一切,都来源于越来越精巧的计算。

计算似乎无所不能,宛如新的上帝。但即使是这位“上帝”,也逃不脱逻辑设定的界限。

第一位发现这一点的,便是图灵。

“我要借了阿尔志跋绥夫的话问你们:‘你们将黄金时代的出现豫约给这些人们的子孙了,但有什么给这些人们自己呢?’”

——鲁迅

黄金时代

但波斯特并没有能够亲眼在《数学年报》看到他和克林的这篇论文。

双相情感障碍一直困扰着他,即使每天只工作三小时,即使用尽办法平伏情绪,每得到一些新的数学结果,这些发现和创造都让他激动不已,处于症状发作的边沿。对于数学家来说,这可能是最扭曲最恶毒的诅咒。数学家的使命在于发现新的数学,这种发现必然带来的喜悦,对于波斯特来说,却会危及他为了发现数学所必须的清醒头脑。

在1954年初,又一次的发作将他带到了纽约的一家精神病院。当时治疗精神疾病的主要疗法有两种,波斯特接受的是电休克疗法,而同样受精神疾病困扰的另一位数学家纳什接受的则是胰岛素休克疗法。电休克疗法在当时还很原始,虽然以相当高的症状缓解率得到了医生的青睐,但原始的疗法过程痛苦可怕,也有一定的副作用。

在1954年4月21日,波斯特接受了又一个疗程的电休克治疗。在他不停抽搐之时,他的心脏失去了控制。

他没有挺过去。

刊登着他和克林的论文的《数学年报》,则是在5月出版,只差不到一个月。

来自Wikimedia

除了波斯特以外,可计算性理论这个领域的其他开拓者,哥德尔、图灵、丘奇这些先驱,他们的结局又如何呢?

由于二战即将爆发,哥德尔在1939年偕同家人移居到了普林斯顿,恰好在图灵回英国之后。之后,他一直作为普林斯顿的教授活跃在数理逻辑学界。但在四十年代后期,他的关注点渐渐从数理逻辑转移到了哲学,也不再发表他的数学工作。可以说,这就是他的数学生涯的终点。而他的人生的终点要等到近四十年之后。在晚年,他的心理变得不稳定,总是怀疑别人要毒害他。在他的妻子因病入院六个月时,他竟然不接受任何人的食物,活活饿死在普林斯顿的医院里。

图灵在1939年博士毕业后回到剑桥,旋即被英国军方聘用,专注破译德军密码,为二战胜利立下了汗马功劳。在战争结束后,他尝试制造一台计算机,但在英国政府的不作为,被在美国的冯·诺依曼抢了先。除此之外,图灵还提出了有关人工智能的图灵测试,并且一直思考前沿的数学问题。作为一名同性恋者,在被警方发现之后,图灵被迫接受治疗。最后在1954年6月8日,他的生命永远地终止了,床边放着一个沾着氰化物的苹果。

丘奇可能是最幸运的人。他一直在数理逻辑这个领域里奋斗,直到生命的尽头,并且硕果累累。这也许是一名数学家能希望拥有的最好结局。他也是一位优秀的博士导师,门下的31位博士中,就有图灵、克林和罗瑟这样的大师。在生命中困扰着他的,也只有晶状体混浊导致的视力问题,与其他几位先驱相比,实在无足轻重。

正因为丘奇卓越的成果,以及其他人的缺席,他以及他的学生在当时的数理逻辑学界中有着举足轻重的影响。自然,丘奇那种过分追求严谨的作风以及他的λ演算在当时也支配了整个学界。但作为计算模型,λ演算不仅不直观,而且过分形式化,很多实际上很简单的结论,用λ演算证明的话会无比繁复。数理逻辑本来就是一门艰深的学科,证明稍稍复杂一些也相对正常。但当图灵机这样直观的模型出现之后,许多定理换用图灵机模型就能被更直观更容易理解地证明,但许多人由于惯性仍然使用λ演算做研究,即使他们对此也颇有微词。

λ演算在当时的影响之大,就连图灵当时在丘奇门下攻读博士时,毕业论文中用到的计算模型也完全是丘奇的那一套λ演算,尽管他自己提出的图灵机概念更加清晰直观。有些数理逻辑学家甚至认为,图灵的序数逻辑当时不受关注,部分原因要归结于用到了λ演算这套形式语言。就连克林,他自己作为丘奇的学生,也对λ演算很不满意,可能是因为他的文章总是遭到读者的冷遇。他在1935年之后很快就抛弃了λ演算,改为用递归函数的模型来阐述结果,读者的反响果然迅速改善。而丘奇过分严谨的作风对学界的统治,使得图灵和波斯特那种诉诸直观(但能被轻易严格化)的证明,在当时被视为异类。

学界的惯性是强大的。丘奇在1935年提出λ演算,而他追求完全严谨的作风对学界的统治要直到五十年代中后期才开始慢慢松动。其中有两个原因:第一是随着可计算性理论的发展,这个领域的定理越趋复杂,λ演算这个框架在严谨性方面带来的好处,逐渐被它的复杂性所抵消;第二是随着基于图灵机模型的现代计算机的发展,人们对图灵机越来越熟悉,对图灵机的研究也越来越深入,人们对于图灵机模型的使用也越来越得心应手。这两个因素一推一拉,渐渐改变了学界的风气。时至今天,在可计算性理论中,人们更偏向于使用图灵机,而λ演算早已不见踪影。但λ演算并没有就此消失于学术界,人们很快就发现它的另一个用武之地,但这是后话,留待后文详述。

哥德尔、图灵、丘奇、波斯特、克林……这些开创者们,告诉了我们“计算”到底是什么,而计算之外又有什么。我们今天能惬意地躺在床上用平板电脑看视频打游戏,能与千里之外的朋友互通消息,也都部分地归功于他们打下的理论基础。但平心而论,我们给这些开拓者的颂扬还远远不够。在一般人心中,他们仍然寂寂无名。这些开拓者们,生前大多没有什么好的结局,就连死后也没有得到多少廉价的赞赏。他们为我们开拓了一个信息化自动化的黄金时代,但他们又得到了什么呢?

但也许他们也并不在乎。就像少年的波斯特那样,也许在他们眼里,数学比尘世间的一切都要美丽,只有万亿光年外宇宙的奇迹才能与之媲美。

图片来源:NASA

这就是信息时代开拓者们的故事。

当然,数学家并不会停止他们探索的脚步。可计算性理论的下一篇章,将会在大洋彼岸被揭开。但在继续追寻之前,我们先来看看,这些开拓者们的遗产到底给我们的生活带来了什么。

来自Wikimedia

段子集(3.3)zz

发信人: newjoker (默默), 信区: Joke标 题: 段子集(3.3)zz发信站: 水木社区 (Wed Oct 28 16:25:00 2015), 站内

1.事业有成男子汪某,被歹徒骗开门用胶带绑椅子上,洗劫钱财后纵火而去。 眼见自己要烧死,想到因酷爱网购而被他昨天骂回家的妻子,悔恨中带有庆幸。 就在他认为自己要一命呜呼之际妻子突然回来,推开家门此情景立即赤手撕断胶带。 事后汪某问她:你咋有这么大的劲? 她回答:无他,你在我眼中就是一个包裹。

2.今天和老公去散步,看到小区路边有个井盖没了,对老公说:你赶紧找下物业,要是人掉下去就麻烦了! 老公看着我说:你放心吧,谁掉下去你都不会掉下去的~ 你有本事别跑······

3.女神:“干嘛呢?”我:“看电影撸”。女神:“我去!”我:“不用来了,我一个人能搞定!”

3.今天我生日,男神蒙住我的眼睛说:“宝贝跟我来 。 ” 辗转了蛮久,男神说:“睁开眼吧。”我看着周围青山绿水,四下无人,羞涩的问:“要在这野战?? ” 男神拿出一部iphone6s递到我手中。我兴奋的抱住地说:“爱死你了,这个礼物好棒耶!”男神唰的给我一耳光,吼到:“给劳资严肃一点!给你父母打电话,让他们拿20万赎人!不然撕P!”尼玛,这到底是我的生日还是忌日?

3.昨天带着近600枚全是5毛的硬币去银行要求换纸币,窗口那小姑娘斜了一眼就开始数钱了。我坐在一边玩手机。过了10几分钟后,她摔给了我等数量的5毛纸币。

3.晚上回家的晚,偏僻路上窜出一个人黑影,拿刀顶着我:“打劫!”。我灵机一动:“你这刀挺不错,我拿我的iPhone6s plus 128G玫瑰金和你换,行么?”他竟然答应了,我太TM机智了,等我接过刀的瞬间大喊“别动,打劫!”劫匪一愣,然后默默地掏出了枪。

3.某人得一宝贝紫砂壶,夜必安放床头。一次,梦中失手将紫砂壶壶盖打翻在地,惊醒甚恼,壶盖既碎,留壶身何用?于是抓起壶扔到窗外。天明,发现壶盖掉在棉鞋上,无损。恨之,一脚把壶盖踩得粉碎。出门,见昨晚扔出窗外的茶壶,完好地挂在树枝上。

3.同学去逛街,路上玩着手机,遇到你个聋哑人,拿着残疾证问他要钱,同学没仔细看,以为是发传单的,直接接过来他的残疾证就走了,走了好远那个聋哑人大叫,尼玛别走…

3.“以前虽然穷,但是都很开心啊。” “是呀。” “现在不一样了。” “现在有钱了?” “现在不止穷,而且还不开心。”

3.“我们怀疑你恶意做空股市,跟我们走一趟!” “我没有啊!” “那你为什么每次都是高价买入低价卖出?” “我…我也不想啊!”

段子集(3.2)zz

发信人: newjoker (默默), 信区: Joke标 题: 段子集(3.2)zz发信站: 水木社区 (Wed Oct 28 16:17:19 2015), 站内

1.调皮被妈妈揍了一顿,当我逃出家之后,在外面碰到了一个老头,那老头看了我一眼说到:“哎,现在的孩子才多大啊就纹身!” 我一听就恼了:“大爷,您看清楚,我这是拖鞋印子!”

2.小时候总不听话,爱搞破坏,我爸就打我,打了多少个巴掌我都忘了,但我一直不认错。后来我爸打累了,就往墙上画了个巴掌,让我自己撞。

3.我爸是做警察的,每次都是穿着警服去跑步。一次我和他一起跑步,我年轻跑的快,在他前面跑着,他在后面,跑着跑着,前面出来个小伙,两眼惊恐,把手里的早餐一扔,一脚飞踹过来,把我踩在地下,嘴里还说着:“警察同志,我把他抓住了…”

3.单位有两个姓王的,一个是领导,一个是职员。一天领导叫职员:“小王,你过来一下。”职员屁颠屁颠跑过去:“大王,找我什么事?”

3.姐妹们都喜欢和我一块拍照,因为这样可以显得他们脸小。那我问,怎么做可以显得我的脸小呢?他们回答我说,可以找一个大饼一块拍照。我照做了,把照片发到网上。网友们都评价:好小的饼……

3.今天搬家,我跟女朋友说自己的东西自己收拾。她听完突然坐在床上哭了起来,“我太惨了,家里都是你的东西,而我一无所有。”

3.学校开运动会,开幕式有个舞龙节目,舞得没一点龙的精神。表演完校长开始发表讲话:这贪吃蛇节目很不错!全校沸腾了。。。

3.发说说:如果你走在大马路上突然发现裤子穿反了,你会怎么办?同学回复:…倒着走。

3.有一天朋友微信里给我载图发来他的结婚请帖,我果断拍了五张一百发了过去…

3.诸葛亮对刘备说:“今天下大乱,曹操以天时立足而孙权以地利,皇叔若想抗衡,需以人和。”刘备点了点头,又等了半天,忍不住问诸葛亮:“先生倒是把话说完,蚁人和谁啊?”

3.和公司一女同事经常玩玩暧昧,讲讲荤段子,关系其乐融融。一天她给我发微信说和老公吵架了晚上在如家睡不回家了!我一想君子不趁人之危就劝她早些回家,她给我回了个工商银行,然后就没了,到现在我也不懂。

3.其实表白被拒了完全不用怕难堪,被拒绝了可以通过马上转移话题来化解尴尬气氛。比如:“我其实喜欢你很久了。” “但我不喜……” “嗯,那你觉得这次习大大访英会对我国经济产生影响吗?”

3.妈妈经常问我:以后找到老婆会不会不要妈?我总是严肃地摇摇头:妈你把我当成什么人了,我是那种能找到老婆的人吗?

�想知道如何得到一杯无因咖啡吗?

本文作者:云无心

咖啡是世界三大饮料之一,深受许多人的喜爱。咖啡中最有特色的成分是咖啡因,但并不是每个人都喜欢。从味道上说,它是咖啡苦味的主要来源;从功能上说,它是神经兴奋剂,能让人处于兴奋状态,影响睡眠。除了咖啡因,咖啡中含有上千种成分,它们可以形成特有的风味,其中还有许多具有健康价值。所以,从咖啡中去除咖啡因,也就有了市场需求。

咖啡因很容易溶解于热水中,要把它从咖啡豆中提取出来并不困难。难的是,如何只去掉它,而尽可能保留咖啡的其他成分。如果用水,提取咖啡因的同时也把大量的其他风味物质提取了出来。要想尽可能保留咖啡的风味,就要用其他手段选择性地去掉咖啡因,再把剩下提取物加回去。

这样的操作实现起来并不容易。另一种思路是选用特定的有机溶剂,比如二氯甲烷,可以比较特异性地带走咖啡因,而把其他物质留下。但是有机溶剂总有残留,不管其毒性是不是足够低,“有机溶剂残留”总是让消费者心存疑虑。

早在1822年,有位法国学者发现了物质存在“超临界现象”。1879年,有科学家发现了超临界流体卓越的溶解性能,预测它可以作为优秀的溶剂用于工业生产中。不过,直到1962年,超临界萃取的概念才终于变成了技术,成功应用于“咖啡脱因”。

我们知道,各种物质都有气、液、固三种状态。在适当的温度和压力下,这三种状态可以互相转化。比如水,在通常的气压下,100°C以上是气态,低于这个沸点温度变成液态,低到0°C后变成固态。如果增大压力,这些转变温度就会发生改变,比如在在高压下,水可以在100°C以上保持液态——或者说,高于100°C时,如果增加压力,也可以使水蒸气液化成为水。但是,如果温度超过374°C,那么无论把压力增加到多高,水蒸气也无法变成水。但是如果压力足够高的话,它的密度会大大高于气体而接近水的密度。这样的状态跟气体、液体、固体都不同,被称为物质的第四种状态——超临界态。而那个374°C,也就被叫做“超临界温度”。处于超临界状态的物质,就被称为“超临界流体”。

对水而言,要达到超临界状态需要太高的温度和压力,在实际生产中并不方便。而二氧化碳就比较“友好”,它的超临界温度是31.1°C。只要高于这个温度,把压力增加到72.8个大气压以上,二氧化碳就成为超临界流体。

超临界流体的特性跟气体和液体都有很大不同。它的密度与液体接近,但粘度却很低,扩散性能好,表面张力极低。这些特性,使得它具有优越的萃取能力。特种化工行业把超临界二氧化碳用于充分吸水的咖啡豆,可以去掉其中98%的的咖啡因。

超临界二氧化碳萃取的优势并不仅仅是效率高。更重要的是,它具有很高的选择性——任咖啡豆中有百媚千红,它只爱咖啡因这一种。二氧化碳无毒无味,只要撤去高压,几乎可以完全挥发掉。萃取了咖啡因的超临界二氧化碳进入分离塔,加入水就可以把咖啡因去除——咖啡因本身是另一种产品,而二氧化碳则可以循环使用。这样的工艺,堪称绿色环保。

“咖啡脱因”是超临界二氧化碳萃取技术的第一个成功应用。此后,这一技术得到了更广泛的开发,获得了越来越多的应用。比如采用类似的工艺,可以用于去除茶中的咖啡因,而改换工艺流程,还可以提取茶中的茶多酚。在啤酒行业,用超临界二氧化碳提取啤酒花中的有效成分,也得到了广泛应用。

从天然产物中分离生物活性物质在食品、医学、香精等行业中有广阔的前景,比如油脂、天然药物成分、精油、香精等等。跟咖啡脱因一样,传统的分离手段要么使用有机溶剂,不得不面对有机溶剂残留的质疑,要么使用高温水溶,再经过一些列分离纯化。除了工艺的繁琐,高温也会造成许多生物活性的损失。借助特种化工技术的超临界二氧化碳萃取不仅萃取效率高,不存在溶剂残留问题,而且可以在较低的温度下操,可以避免高温对目标物质的破坏。

关于

题图由海洛创意(HelloRF)提供

Python中yield关键词的作用和用法

Python关键字yield的作用是什么?用来干什么的?为了理解yield是什么,首先要明白生成器(generator)是什么,在讲生成器之前先说说迭代器(iterator),当创建一个列表(list)时,你可以逐个的读取每一项,这就叫做迭代(iteration)。

>>> mylist = [1, 2, 3] >>> for i in mylist : … print(i) 1 2 3

mylist 是一个可迭代的对象。当使用一个列表生成式来建立一个列表的时候,就建立了一个可迭代的对象:

>>> mylist = [x*x for x in range(3)] >>> for i in mylist : … print(i) 0 1 4

可以使用“for··· in ···”来操作可迭代对象,如:list,string,files,这些迭代对象非常方便我们使用,因为你可以按照你的意愿进行重复的读取。但是你不得不预先存储所有的元素在内存中,那些对象里有很多元素时,并不是每一项都对你有用。

生成器同样是可迭代对象,但是你只能读取一次,因为它并没有把所有值存放内存中,它动态的生成值:

>>> mygenerator = (x*x for x in range(3)) >>> for i in […]

段子集(3.1)zz

发信人: newjoker (默默), 信区: Joke标 题: 段子集(3.1)zz发信站: 水木社区 (Sun Oct 25 20:54:24 2015), 站内

1.昨天幼儿园小朋友坐大巴车来我们单位参观, 我在车子下面一个个的往下抱,由于小朋友太多,我连头也没抬,最后连幼儿园老师一起抱了下来。 哥当时脸都红了……你倒是挣扎一下啊…

2.我去幼儿园接儿子,老师说你这孩子很犟,让他在本子上画爸爸妈妈,可他说什么也不愿把你画上,问他为什么他也不说!回家后我问儿子为什么?他说:你那么胖,本子上根本不够画。

3.我有一朋友绰号西瓜,家住某小区五楼。一日,我去找他打篮球。当天很热,本人就懒得上楼找他,就站在他家楼下高呼:“西瓜,西瓜。”话音刚落,二楼一位阿姨打开了窗户问:“多少钱一斤?”

3.这几天感冒,鼻涕止不住地流。纸巾不停地用。看着我垃圾桶里的纸巾,父亲在我的桌上放了一盒六味地黄丸。好像哪里不对。

3.“老板,今天我媳妇生日,把你店里最贵的首饰拿出来我看看!” 老板:“你看看这块表怎么样?”“多少钱?” 老板:“十块卖给你…… ”“那么便宜也配得上我媳妇?” 老板:“你有本事别来两元店装逼啊!”

3.女孩问男票:“我和你妈同时掉水里了,你先救谁?”男票说:“你试试。”“试就试。”女孩咕咚跳水里了。然而,男票的妈妈却没跳,两人在岸上商量:“这么傻的媳妇到底还要不要。”

3.几个男同学踢完球,一身臭汗回到教室。甲:“如果我现在脱鞋,全班都得逃出教室,哈哈。”乙听完淡定地说:“我脱鞋后,他们连逃跑的机会都没有!”

3.今天律所里来了一位男士,离婚案件,女方有第三者。 男士强调,财产可以少要但孩子抚养权要到手。 我们提醒他,DNA鉴定孩子非亲生啊! 男士斩钉截铁说和女儿感情很深。 嗯,是个好父亲。

3.当家以前练空手道的,又帅又贴心又有安全感,超级宠我,有天半夜我说要吃小龙虾。 当家的说对胃不好,明天再吃好不好,我撒娇说不要不要现在就要吃,当家的拗不我,说,那你闭上眼睛,睁开就可以吃到好不好。 我说好,闭上眼,当家的一挥手对着我脖子来了一记手刀。 我三天后终于醒过来吃上了小龙虾。

3.“大学时我是我寝老大”“真的假的?他们都听你的?”“必须的,说什么做什么”“不可能吧?”“不可能!他们敢不听我的,我动动脚趾头就能弄死他们!”“…路由器在你边上还是插座在你边上?”“都在!” ……

Web应用中实时消息技术总结

在互联网应用中,很多时候我们需要在客户端和服务端之间进行实时的消息交互,比如下面这些常见的应用场景: SNS网站用户互动消息通知(weibo/twitter) 门户网站实时滚动新闻(突发事件)、文字直播(体育赛事) 在线聊天室(在线客服) 实时数据展示(实时股价,实时商品价,服务器实时监控等)

接下来就来看看web开发中常见的实时消息的实现技术方案,每种方案都各有优缺点,在不同的应用场景下有不同的选择

普通的http

客户端从服务器端请求网页 服务器作出相应的反应 服务器返回相应到客户端 AJAX Polling 客户端使用普通的http方式向服务器端请求网页 客户端执行网页中的JavaScript轮询脚本,定期循环的向服务器发送请求(例如每5秒发送一次请求),获取信息 服务器对每次请求作出响应,并返回相应信息,就像正常的http请求一样 客户端定时请求服务器来询问是否有新的消息产生,这种情况下客户端每次请求都要建立一次http连接,服务器都要产生一个响应信息。 优点:实现简单,使用方便,开发成本很低,适合刚起步的小型应用或是其它方案的备用方案。 缺点:消息有延迟,网络通信消耗大(特别是移动网络下),服务器容易产生峰值请求。 实现:浏览器里用js定时请求,或是移动设备上nativeapp里定时发http请求。 实例:适于小型应用。 AJAX Long-Polling 客户端使用普通的http方式向服务器端请求网页 客户端执行网页中的JavaScript脚本,向服务器发送数据、请求信息 服务器并不是立即就对客户端的请求作出响应,而是等待有效的更新 当信息是有效的更新时,服务器才会把数据推送给客户端 当客户端接收到服务器的通知时,立即会发送一个新的请求,进入到下一次的轮询 跟上面的polling模式相比: 优点:消息到达客户端更及时;减少了http请求不停地创建、关闭成的不必要浪费。在无消息的情况下不会频繁的请求。Long-polling支持大多数当前的浏览器。 缺点:服务端需要保持大量连接,http连接的维护开销较大;每次产生消息后都需要重新创建连接。 实现:客户端只要简单的发送请求,等待响应即可。服务器端需要做两方面的工作:一是保持大量的连接(Non-Blocking I/O);二是读取后台的消息更新(异步定时轮询或由事件触发)。是一个近实时的异步方式。 兼容性: 实例:WebQQ、Hi网页版、Facebook IM。 基于流的模式(http streaming) 在这种情况下,客户端与服务器端保持一个持久的连接,服务器端有新消息产生时通过这个持久连接不断地返回给客户端。这种模式与上面的long polling差不多,差别就是只需要创建一次连接就可以了。另外,要注意http header中需要设置Connection: keep-alive和Transfer-Encoding: chunked这两个属性。跟上面longpolling模式相比: 优点:消息可以实时到达客户端;客户端与服务端之间只需要建立一次连接。 缺点:服务器端也要维持大量连接,开销很大。 实现:客户端一般有两种方式:一是隐藏iframe的src指向服务器端url,不断地进行dom渲染;二是使用ajax里的XMLHttpRequest对象来实现。对于服务端来说,和longpolling一,要保持大量连接和处理后台的消息更新。 HTML5 Server Sent Events (SSE) / EventSource: 客户端使用普通的http方式向服务器端请求网页 客户端执行网页中的JavaScript脚本,与服务器之间建立了一个连接 […]

Cookie与特殊字符

这个是一个发生在自己身边的故事,由于Cookie值中设置了一个特殊字符,导致部分手机由于兼容性问题在打开站点时产生5xx错误,经分析Cookie中的字符并不被部分Android手机机型支持。

为什么会出现这样的情况?我们先来看下关于使用Cookie的一些注意事项:

1. Cookie的兼容性问题

Cookie的格式有2个不同的版本,第一个版本,我们称为Cookie Version 0,是最初由Netscape公司制定的,也被几乎所有的浏览器支持。而较新的版本,Cookie Version 1,则是根据RFC 2109文档制定的。为了确保兼容性,JAVA规定,前面所提到的涉及Cookie的操作都是针对旧版本的Cookie进行的。而新版本的Cookie目前还不被Javax.servlet.http.Cookie包所支持。

2. Cookie的内容

同样的Cookie的内容的字符限制针对不同的Cookie版本也有不同。在Cookie Version 0中,某些特殊的字符,例如:空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号都不能作为Cookie的内容。虽然在Cookie Version 1规定中放宽了限制,可以使用这些字符,但是考虑到新版本的Cookie规范目前仍然没有为所有的浏览器所支持,因而为保险起见,我们应该在Cookie的内容中尽量避免使用这些字符。

RFC2109 制定的规范:

RFC 2068 制定的规范:

最后的忠告,Cookie中永远不要存特殊字符,即使要存储也要进行编码以后再存。

Related posts:

IE7.JS 解决IE兼容性问题 PHP API 框架开发的学习 IE不能显示PNG图片问题 […]

LBS知识之经纬度精度

在做LBS的应用的时候考虑到了这样一个问题,经纬度后面的小数的位数对于精度影响有多少?

通过百度或者Google,可以获得如下信息:

在纬度相等的情况下:

经度每隔0.00001度,距离相差约1米; 经度每隔0.0001度,距离相差约10米; 经度每隔0.001度,距离相差约100米; 经度每隔0.01度,距离相差约1000米; 经度每隔0.1度,距离相差约10000米。

在经度相等的情况下:

纬度每隔0.00001度,距离相差约1.1米; 纬度每隔0.0001度,距离相差约11米; 纬度每隔0.001度,距离相差约111米; 纬度每隔0.01度,距离相差约1113米; 纬度每隔0.1度,距离相差约11132米。 但是上诉的答案是否是正确的呢?我们先来了解下地球的一些基本信息: 地球的赤道半径 = 6378.1 公里 地球的极半径 = 6356.8 公里 Latitude的范围是:-90 到 +90 Longitude的范围:-180 到 +180 地球参考球体的周长:40075016.68米 经纬度划分规则如下图: 从上述的图片中可以看到,经度和纬度的划分规则是不一样的。所以网上搜索的经纬度经度对于精度的影响并不正确的。 纬度每格1度影响的距离 = 极半径*π/180=110.95 km 经度每隔1度影响的距离(赤道)= 赤道半径*π/180 = 111.32 km,维度越靠近南北极,影响的距离越小。 如何计算经纬度之间的距离? 基于球面模型的地理空间距离计算公式。 该模型将地球看成圆球,假设地球上有A(ja,wa),B(jb,wb)两点(注:ja和jb分别是A和B的经度,wa和wb分别是A和B的纬度),A和B两点的球面距离就是AB的弧长,AB弧长=R*角AOB(注:角AOB是A跟B的夹角,O是地球的球心,R是地球半径,约为6367000米)。如何求出角AOB呢?可以先求AOB的最大边AB的长度,再根据余弦定律可以求夹角。

如何求出AB长度呢?

google maps脚本中的计算距离代码: private const double EARTH_RADIUS = 6378.137; private static double rad(double d) { […]

Category

Archives