fsword's blog

A blogging framework for hackers.

多级module避免使用双冒号

| Comments

在多层模块中定义类或者模块一般有两种做法:

1
2
3
4
5
6
7
module A
  module B
    class C
    ...
    end
  end
end

1
2
3
4
5
module A::B
  class C
  ...
  end
end

直观看,后者显然要简洁一些,所以我们常常使用这种写法,不过,其实后者更灵活。

这两种写法并不是等价的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
module A
  module B
    Sth = "hello"
  end
end
module A
  module B
    module C
      class X
        def hello
          puts Sth
        end
      end
    end
  end
end


A::B::C::X.new.hello

执行上述代码:

1
2
$ ruby sample.rb
hello

改为双冒号:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module A
  module B
    Sth = "hello"
  end
end
module A::B::C
  class X
    def hello
      puts Sth
    end
  end
end


A::B::C::X.new.hello

再执行就会出错了

1
2
3
$ ruby sample.rb
v.rb:9:in `hello': uninitialized constant A::B::C::X::Sth (NameError)
    from v.rb:15:in `<main>'

如果你感觉奇怪,说明对ruby的语法理解的还不充分。初学者常以为module和class这两个关键字是”定义一个类/模块”,但其实它们的意思是”打开一个类/模块”(正是这一特性让ruby具备了open class的能力),而对于打开这个概念,随之而来的自然是可以访问这个类/模块上下文的各种常量。

在前一种写法中,我们实际上是在依次打开模块A、B、C,因此X可以访问这些模块中的常量,而module A::B::C这种写法只是打开了A::B::C这个模块,于是X就不能访问 A::B 这个模块的常量了。

module中的常量,通常是一些模块级的共享对象和数据,因此,为了让我们的代码能够访问这些位置,写成层次module显然比使用双冒号的代码更有灵活性。

自定义ruby异常时需要注意的一个问题

| Comments

有时我们会有这样的场景,对于依次调用的函数 A 、B、 C,存在这样的职责:

1
2
3
A [处理指定异常类]
    -----> B[转换异常类] 
                -----> C[抛出原始异常]

有人会写出这样的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class WrappedError < StandardError; end
def first
  second
rescue WrappedError => e
  puts "#{e.message}: \n#{e.backtrace.join "\n"}"
end

def second
  third
rescue StandardError => e
  # do some things
  raise WrappedError.new e
end

def third
  fail 'I am wrong'
end

first

这个写法有两个错误:

  • java的异常类通常会在构造器方法里传入root cause对象,但ruby不需要,它可以直接从 $! 上得到,所以 WrappedError.new e其实多余。
  • ruby的异常经过包装后就不会在backtrace中输出之前的root cause信息,不过异常对象有cause属性可以用来访问,所以在first函数里应该这么写——
1
puts "#{e.message}: \n#{(e.cause||e).backtrace.join "\n"}"

have fun!

[编译]ubuntu下自定义用户目录

| Comments

内容来源: 链接

有的linux桌面(例如ubuntu/xbuntu)会按照xdg-user-dirs规范将一些目录作为缺省目录(例如 Desktop, Music, Pictures, Templates 等等),这些内容是可以自己修改和维护的,配置文件在 ~/.config/user-dirs.dirs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

关于这些 xdg user dirs ,更详细的信息参见这里

Process info函数参数

| Comments

今天想查一下erlang:process_info函数的参数,余锋同学给了一个链接,结果看到了recon 这个项目,感觉很值得关注,记录一下。

不过,如果只是了解process_info函数有哪些key,可以直接用这种方式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

(server@127.0.0.1)32> erlang:process_info(pid(0,1286,0)           
(server@127.0.0.1)32> ).
[{registered_name,channel@1},
 {current_function,{gen_fsm,loop,7}},
 {initial_call,{proc_lib,init_p,5}},
 {status,waiting},
 {message_queue_len,0},
 {messages,[]},
 {links,[<0.1163.0>]},
 {dictionary,[{'$ancestors',[essh_client_sup,essh_sup,
                             <0.1103.0>]},
              {'$initial_call',{essh_client,init,1}}]},
 {trap_exit,false},
 {error_handler,error_handler},
 {priority,normal},
 {group_leader,<0.1102.0>},
 {total_heap_size,17730},
 {heap_size,6772},
 {stack_size,10},
 {reductions,15053},
 {garbage_collection,[{min_bin_vheap_size,46422},
                      {min_heap_size,233},
                      {fullsweep_after,65535},
                      {minor_gcs,1}]},
 {suspending,[]}]

ZZ:也谈坐月子的问题

| Comments

◇◇新语丝(www.xys.org)(xys5.dxiong.com)(www.xinyusi.info)(xys2.dropin.org)◇◇

  也谈坐月子的问题

  作者:王永祯

  方舟子先生“中国人坐月子的陋习”一文,所述事实符合实际,分析批判正 确。为什么却招徕了一片骂声?

  60年代,我是乡级医院的一名医生。对农村生孩子,坐月子,实在是太熟悉 了。因为坐月子,对产妇母子的伤害见的太多了。

  说一个我亲身经历的真实故事吧:

  某产妇生小孩,由我院接生员接生,生产很顺利。本来无事。可是两天后, 我们的接生员突然来找我,“王大夫你快去看看吧,孩子发高烧,母亲也象昏迷 的样子”。我于是背起出诊包,急忙赶到孕妇家。一近产妇的房间,屋内有几个 邻居的老太太,象在照料病人,表情沉重。母子都昏昏然,经检查,除孩子体温 接近40℃外,没有任何有产期感染迹象。时值三伏高温季节,屋子门窗紧闭,孩 子还用棉被包裹,屋内凭感觉,室温估计会接近40℃,空气也相当不好。我全明 白了。我告诉在场的人:我看不出来孩子和母亲有什么病,屋子太热了。于是我 亲自动手,解除了孩子包身的棉被,打开了屋子的窗户,并要求母亲只穿内衣, 勿盖棉被。我的举措,可谓大逆不道,令在场的人目瞪口呆。可他们不敢对我进 行阻拦。过一会,效果显现了,孩子体温降下来了,母亲也精神好转。在场的所 有人都松了一口气。我也轻松地离开了产妇家。

  这样的故事,决不是虚构,可以讲很多。

  我已不在农村,据说还有这种陋习。

(XYS20110717)

◇◇新语丝(www.xys.org)(xys5.dxiong.com)(www.xinyusi.info)(xys2.dropin.org)◇◇

ZZ:也说坐月子

| Comments

◇◇新语丝(www.xys.org)(xys2.dxiong.com)(www.xysforum.org)(xys-reader.org)◇◇

  也说“坐月子”

  作者:星期二

  看到新语丝上小木的《关于“坐月子”的一点个人体会》,也想起我当年坐 月子的时候的一些事情。

  中国坐月子的老习惯,不能出门是一定的了。这条对我来说并非不可忍受, 毕竟当时身体虚弱,而且那时候是冬天,不出门也就罢了。更多让人受不了的习 俗包括:不能洗头,不能洗澡,不能刷牙,不能剪手指甲等等。这些当时给我带 来很大的困扰。

  首先说不能剪指甲,理由是剪了手指甲将来会手疼。但是我要照顾孩子,一 个新生儿皮肤很嫩,一个月不剪指甲的话,早不知道划伤小宝宝多少次了。所以 这条我压根就没理会,很快就剪了手指甲。好在这一条我母亲和婆婆也不是特别 信,就由得我了。

  其次是一个月不能洗头,理由是月子里洗头将来会头疼。我本来就是油性头 发,三天不洗头的话,头发就会油腻,而且头发一脏,就很容易掉头发。忍了一 个星期之后,看着枕头上的落发,头皮一阵阵瘙痒,我开始脾气暴躁,有时候会 一边骂骂咧咧一边又抓又打自己的头。老公和婆婆迫于我的“任性”,终于同意 给我洗头。但是婆婆说一定要用熟水,也就是把烧开的水晾着,晾温了再洗,而 不能用凉水兑热水。所以后来也洗了头。但我也实在等不及把开水冷温了,所以 也就兑了凉水洗。

  关于刷牙也是一样,一开始我母亲婆婆和其他的三姑六婆们都告诉我不能刷 牙。后来在我的坚持下各人退了一步,同意我刷牙,但是用的是温开水。

  还有不能洗澡,虽然说是冬天,但是屋里是开着暖气的,这样一个星期下来, 我身上的衬衣已经满是油水。而不能洗澡是长辈们十分坚持,绝对没有讨价还价 的余地的。母亲告诉我实在觉得脏的时候,可以用热毛巾擦一擦,然后换件衣服。 其实这种隔靴搔痒的干搓泥的方式并没有多大的清洁作用,而且身上除了油腻之 外还多了一层湿乎乎的水气,反而感觉更恶心。

  中国人的坐月子简直可以说是以脏为习俗。为此,坐月子期间成了我情绪最 差的一段日子。而最有意思的是,如果你向三姑六婆抱怨这些不能洗的习俗的时 候,她们都会说:我们都是这样过来的。看得出,她们都在坐月子期间被这些习 俗弄的很辛苦,但是时过境迁,回忆那段日子,又颇有些忆苦思甜的自豪感。似 乎那些习俗是取经路上的九九八十一难,而忍住了这些肮脏的习俗捱到出了月子, 便是得成了金身正果。或许正是这种感觉,才支持着一代一代的人把这个习俗在 后辈身上发扬光大吧。

  坐月子的习俗一句话概括就是:不能沾水,哪里沾水后半辈子哪里就疼痛难 忍。洗头就头疼,洗脚就脚疼,洗全身当然将来全身都疼。

  那时候我也打电话和一个比较开明的姑姑聊过。最终我们达成的一致结论是, 谁也不能证明所谓的“洗哪疼哪”是真的,但是谁也不敢拿自己去做白老鼠。尽 管老外那些白人黑人们是从来不坐月子的,但是她们的体质一般来说比亚洲人要 好很多,当然不能因为美国人不坐月子就可以相信中国人不用坐月子。所以尽管 每个产褥期的妇女都很怨念,还是一代一代的坚持下来并且在后辈身上发扬光大。 其实我想不通的是,为什么同为亚洲人的日本人也不用坐月子呢?如果坐月子真 的是体质原因,为什么不是所有的亚洲人都坐月子而是只有中国人,或者说只有 华人坐月子?

  其实现在的我确实有感觉,生了孩子以后的这两年,身体也是不如以前。比 如牙齿,我以前那样可以大口咬冰块吃,但是现在会觉得咬冰块牙疼。以前我会 很彪悍的在下雪的天气顶着湿漉漉刚洗好的头发出门,连帽子都不戴,头发曾经 因此冻成冰柱,而我丝毫不觉得凉,也没有感冒,令同寝室的姐妹都咋舌,现在 冬天天冷的时候我出门一定要戴帽子,不然会冻得头疼。有n多的传说都是这样 来的:某人坐月子的时候洗了哪里,后来哪里哪里疼。不知道我算不算是一个反 面典型。但真的是“洗哪疼哪”吗?这种倒推合乎逻辑吗?我也很怀疑。也许是 因为我二十来岁的时候太不爱惜自己的牙齿和头发才会到30岁反应出来,人到了 三十岁确实身体某些机能都开始走下坡路了。坐月子洗头和老来头疼,仔细想想, 其实是没有可证实的因果关系的。这样举例子的人,往往自动忽视那些月子里没 洗头老了也头疼的,和月子里洗了头老了也没头疼的人。选择性失明,这思路倒 是和中医满像的。由此不难明白中医为什么在国人中那么有市场了,因为符合国 人逻辑混乱的思维方式吧。

(XYS20080629)

◇◇新语丝(www.xys.org)(xys2.dxiong.com)(www.xysforum.org)(xys-reader.org)◇◇

ZZ:为什么坐月子是陋习

| Comments

◇◇新语丝(www.xys.org)(xys5.dxiong.com)(www.xinyusi.info)(xys2.dropin.org)◇◇

           为什么坐月子是陋习?

             ·方舟子·

  古人把生日称为“母难日”,这不仅指母亲在怀孕、分娩时要忍受痛苦,而 且面临着很大的生命危险。在古代,孕产妇死亡率高达1.5%。由于一个女人一生 中通常要经历5~8次生产,这就意味着一个女人在一生中由于生产而死亡的可能 性高达九分之一。由于现代医学的进步,现在发达国家的产妇死亡率已降到万分 之一左右。

  有许多原因能导致产妇死亡。有的是由于难产或分娩时大出血而当场死亡。 有的则是在产后由于感染而死亡。如果在分娩时没有进行消毒,就可能发生破伤 风。又由于产后子宫颈口处于开放状态,细菌容易进入子宫内导致子宫内膜、子 宫肌层发炎,甚至进一步通过输卵管到达盆腔,引起输卵管、卵巢、盆腔发炎。 因此产后如果不卫生,容易发生大面积感染,最终由于败血症而死亡。

  严重感染时人会发高烧,发高烧时身体会打寒颤,就跟在寒风中一样。中医 不知道这是由于细菌感染引起的,以为是“伤风”、“受凉”。为了避免“伤 风”,产妇不仅要闭门不出,坐床不起,而且要紧闭门窗,密不透风。产妇还要 头戴帽子或裹毛巾,穿厚衣服,即使是大热天也必须如此。为了避免“受凉”, 产妇不能洗头、洗澡,不能沾水,连刷牙都不行。产妇也不能喝凉水、冷饮,不 能吃“凉性”食物,例如水果。

  因此就形成了坐月子要忌风、忌水、忌动、忌口的习俗,而且长达一个月。 忌风、忌水不讲卫生,反而增加了细菌感染的机会,而忌动、忌口又降低了免疫 力,因此坐月子的结果反而更容易“伤风”、“受凉”。越是容易“伤风”、 “受凉”就越看重坐月子,形成了恶性循环。坐月子对产妇来说其实是很痛苦的 一件事,在夏天时尤其如此。为了逼迫产妇就范,又有了一套吓人的说法,不坐 月子或月子没做好,以后就会得“月子病”,例如头部吹了风或洗了头就会一辈 子头疼,刷了牙以后牙齿会一直酸痛,身体哪个地方沾了水哪个地方就会疼等等。

  这些做法与现代医学格格不入,恰恰是对着来的。如果是在西方国家,产妇 分娩后,护士往往就给她吃冷饮。分娩当天,护士就会让产妇洗澡,而且会逼着 产妇下床运动。孕产妇体内的血液处于高凝状态,如果长时间躺着、坐着不动, 容易发生下肢静脉血栓。如果血栓随着血液流动到了肺部,栓塞肺动脉,会导致 产妇猝死,难以抢救。在发达国家,产妇由于难产、大出血或感染死亡已很少见, 最主要的死亡因素就是血栓栓塞。即使产妇老大不愿意也要逼着她们运动,就是 为了防止血栓栓塞。适当的运动也有助于产后的恢复。

  西方国家的这种做法在许多中国人看来很不可思议。他们把这归结为白人的 体质比较好。且不说白人的体质未必就都比中国人好,西方国家的居民也并不都 是白人,还有黑人、印第安人、亚裔,还有很多华人,他们也都不坐月子。除了 西方国家,其他国家,包括东方国家(例如日本),也都不坐月子。难道只有在 中国的华人是世界上身体特别虚弱的特殊人种,非坐月子不可?一旦被指出了这 个事实,又有人会说,正因为外国女人不坐月子,所以她们老得快,或者老了疾 病多。好像这些人做过调查统计,发现不管哪个国家、哪个民族的女人到老都比 中国国内的女人不健康似的。

  “不坐月子,别看现在没事,以后就知道厉害了。”这也是常见的说法,让 一些产妇不敢不从。也的确经常有人现身说法,说当年由于月子没做好,所以落 下了什么“月子病”。而什么病都可以归为“月子病”。我听过的一个很搞笑的 说法是,由于当年坐月子是在夏天,穿凉鞋没有包住脚后跟,所以老了脚后跟皮 肤就裂了。反正人老了甚或还没老都难免会出现各种疾病、不适,只要以前坐过 月子觉得某方面没做好,就都可以归为“月子病”。难道没有生过小孩的女人就 不会得这些病?“月子病”也可以说是一种心理疾病,是疑神疑鬼乱联想导致的, 只有那些做过月子的人才会得,不做月子的人没有这方面的心理负担,反而不会 得“月子病”。

  坐月子是受中医文化影响的一种最具中国特色的传统陋习。这并不是说产妇 不需要休产假。产妇在分娩后身体出现了一些变化,适当的休息辅以合理的饮食 和锻炼,是有助于身体的复原的。更重要的是,产假有助于带好新生儿。如果因 为迷信坐月子,把自己搞得全身脏兮兮、臭烘烘的,对宝宝也不好。说了这么多, 也许还会有人问,那你的妻子敢不坐月子吗?当然敢,在医院时没有洗浴条件, 她从医院一回家就洗头洗澡,出门散步,想干嘛就干嘛。

  2011.7.11.

(《中国青年报》2011.7.13)

(XYS20110713)

◇◇新语丝(www.xys.org)(xys5.dxiong.com)(www.xinyusi.info)(xys2.dropin.org)◇◇

ZZ:坐月子(白衣咸饭)

| Comments

◇◇新语丝(www.xys.org)(xys2.dxiong.com)(www.xysforum.org)(xys-reader.org)◇◇

  坐月子

  作者:白衣咸饭

  在我开设自己的博克后不久,有个网友希望我说说坐月子的事情。应这位网 友的要求,5月11日写了一篇“坐月子 http://blog.cat898.com/boke.asp?kurz.showtopic.160560.html”,引得了几 位网友的跟帖,谈了各地坐月子的习俗。我在发博文时,一般也同时寄给新语丝 一篇,但那时电脑被病毒感染,速度特慢,有少数没有寄过来,“坐月子”就没 有寄。今天看了小木的“关于“坐月子”的一点个人体会” (http://www.xys.org/xys/ebooks/others/science/dajia9/zhongyi1820.txt ) 和星期二的《也说“坐月子”》 (http://www.xys.org/xys/ebooks/others/science/dajia9/zhongyi1823.txt ),把这篇旧文“坐月子”修改了一下,望能使更多的人了解一下“坐月子”是 怎么回事。不过,本节和文章的最后两节是新加的。

  现代医学中只有产假之说,没有坐月子之说。别看我学了这么多年,真要我 把这坐月子翻译成洋文,我还真不知道怎么译,因为这是中国特色。翻译之后得 附一串长长的说明。月子指产褥期,这个不难,关键是个“坐”字,如何处理, 如何把握,我自己都不是很准确。

  以前医学不发达,产后很容易感染。 人在生产后,子宫颈口处于开放状态, 下生殖道内的细菌很容易上行感染子宫内膜,导致子宫内膜和子宫肌层发生炎症, 临床上叫子宫内膜子宫肌炎,即使是专业人员,也常常简称为子宫内膜炎。实际 上这炎症是会侵犯子宫肌层的。子宫内膜和子宫肌层感染发炎后,人就会发热。 以前把所有产妇产后发热都称为产褥热,实际上是不准确的,因为乳腺炎、肺炎 等其它原因也会引起发热。现在正规的教科书和参考书已经废除了产褥热这个名 词。

  子宫内膜炎如果治疗不及时,感染灶还会继续向上蔓延,通过输卵管到达盆 腔,引起输卵管炎、卵巢炎、盆腔脓肿甚至全腹腔-盆腔腹膜炎,最后出现败血 症,导致病人死亡。以前孕产妇死亡率在1500/10万,其中,感染占了很大的比 例。现在,抗生素广泛使用之后,因产褥感染而死亡的产妇已很少见。但是产褥 感染还是时有所见。由于产褥感染时,产妇会有发热、高热、寒战,所以中医认 为产后容易“伤风”。既然会伤风,所以坐月子时不仅要头裹毛巾、身穿棉袄, 而且要紧闭门窗、密不透风。在我读大学的时候,还常常听老师提起,说有的产 妇即使三伏天坐月子,也要如此,结果搞得人中暑。中暑的产妇我没有见过,但 前几年查房时发现有患者家属把病房的门窗关得紧紧的,屋子内空气污浊,加上 产后都有点恶露,屋内的血腥味非常难闻。因此,我查房时的第一件事就是打开 窗户,把新鲜空气给患者送进屋。这个动作常常受到一些老婆婆老奶奶的阻挠和 干扰,但年轻人似乎更愿意接受医生们的意见。检验产妇是相信中医,还是相信 现代医学,脸上有无痱子,是个小小的窍门。

  中医提出产后易伤风的另外一个原因,就是过去生孩子断脐时,常常用的不 是消毒剪刀,而是普通的剪刀,甚至是生锈的剪刀或切菜的刀,还有用口把脐带 咬断的,所以新生儿很容易发生破伤风。破伤风由破伤风杆菌引起,会分泌外毒 素,引起机体痉挛性抽搐,以前叫“脐风”。一旦发生,新生儿几乎没有存活的 可能。其实,这与风一点关系都没有,也是感染所致。由于破伤风杆菌到处存在, 所以以前的新生儿死亡率特高。新式接生时,破伤风感染不再存在。但在一些计 生抓得紧的地方如湖广、贵州等地,有些人为了逃避计生,就偷偷地在家里生, 结果还有新生儿患破伤风。我有个同学在内地做儿科,有次他说他一年内就接诊 了100多例破伤风患儿,几乎全是第二胎,着实把我吓了一跳。

  生孩子叫分娩。分娩之后子宫创面会有少量渗液,加上红细胞、白细胞、脱 落的上皮细胞等,从阴道内流出来,医学上叫恶露。恶露中含有少量的红细胞, 所以颜色是淡红色的。加上分娩时出血,在中医看来,这些都是“失血”的表现, 所以产后要“补血”。的确,有些产妇有贫血,需要补充制造血液的原料如铁、 维生素B12,但中医建议产妇食补。所谓食补,就是通过饮食来补。比如说吃红 糖、红枣,以及一些红色的中药等等。中医认为吃下这些红色的东西,就可以补 血,其实没有什么科学依据。如果真有贫血,一般只需补充铁剂就行了。维生素 B12在食物中的含量,绝大多数情况下可以满足需要,不必特别补充。所以常常 有人问我,产后需要吃什么补什么?我的回答是什么都可以吃,补就没有必要。 结果有的老婆婆用异样的眼光看我。还有的老人在病房里故意大声教训儿媳说 “生孩子要听医生的,吃什么还得听我的”。其实这话是说给我们医生听的。

  说到吃,中医有很多忌讳,但其实什么都不需要忌。比如,身上长了疖痈, 中医说要忌食南瓜、鲤鱼等所谓的“发物”。否则这些疥痈就会更加严重,会化 脓等,其实没有这回事。由于所有的水果我们都是生吃的,是冷的,所以在某些 地方产妇也不能吃。经常有产妇问我水果能不能吃,我说都能吃,但有些人就是 不信,连某些地方的医生也不信,说他们那里的老一辈教下来的规矩就是忌食凉 物。有次一位朋友的太太生孩子,我买了一些水果去看他们,朋友的岳母很不高 兴,说医生怎么也不讲究忌口,连这个都不知道?我说什么都可以吃,水果也得 吃。正当大家很尴尬时,我朋友出来圆场说我“是从瑞士回来的大博士”,才算 平息了争论,但那位老人好像还有疑虑。我们身上生疖子、长痈,与吃什么东西 一点关系都没有。不过,现在污染很重,在污染重的地区,是否还可以放心大胆 地吃蘑菇、吃鱼,的确值得商榷。但这只与环境污染程度相关,与产妇能不能吃 无关。

  中医除了忌风,忌口,还要忌凉水。因此,很多人坐月子的时候不洗澡。我 还真不知道一周不洗澡,如何过得去。从现代医学的观点看,澡也是要洗的,我 们病房现在全部都装有淋浴,病人可以洗澡。但是,由于宫颈口在产后12天左右 才闭合,所以建议在这之前不要坐浴。当然,洗澡用的水不可以很冷,水和环境 的温度适宜就行。

  我自己没有坐过坐月子,也没有看人坐过。小时候母亲生下我最小的弟弟妹 妹时,我已经明白了一些事。我父亲有些科学知识,而且很痛恨中医。因为我奶 奶30岁时拉肚子,郎中开的方子竟然是要她喝下自己的洗脚水,最后死于“赤 痢”。我奶奶死于庸医之手,所以我父亲一辈子不吃中药,不像我还吃过几次。 我母亲坐月子也因此没有吃过中药。我们那儿的人,在吃过中药之后,要把中药 倒在外面的路上,据说这样人的病会早点好。这更没有道理。

  我母亲坐月子时,父亲会煮很多鸡蛋放在床头,母亲饿了就吃。我们家穷, 一般仅20来个。有时听说谁家的媳妇,生个孩子吃了60多个鸡蛋,估计一天得好 几个。羡慕之情,溢于言表。那时候我们常吃不饱饭,所以鸡蛋对于产妇来说, 对营养身体起了很大的作用。我们那地方的鸡蛋的吃法也很怪,都是先煮好了的。 要吃时,就加点红糖,然后用热开水冲了吃。在那时候物资匮乏的时代,觉得还 好吃。现在有不少病人给医生护士送红蛋,包装得虽然很好,但我发现几乎没有 哪个医生护士喜欢吃的。有个温州人很厉害,把巧克力做成鸡蛋形状,外面印上 红“喜喜”,像红蛋一样送人,我发现大家倒是蛮喜欢吃。

  除了忌口之外,中医很讲究发奶。产后要下奶,现代医师好像从来不从饮食 上考虑,只在两个层面上考虑,一是刺激,要新生儿吸吮乳头,刺激产奶;二是 给药。国内似乎不大重视这个问题,所以没有任何药物。但国外是有的,估计是 泌乳素。这个东西是人体胎盘产的、具有泌乳作用的激素,垂体也会分泌。而中 医就不同了,以前的“发物”统统起了作用,什么鲤鱼、南瓜等等,全派上了用 场。在我老家,还得用糯米炖猪蹄、老母鸡或鲤鱼。其实,这些东西本来就是食 物,是用来吃的,不吃也没什么。这些都是高蛋白饮食,吃了之后会补充人体内 需要的氨基酸等物质,当然没有什么坏处。但没有必要刻意去吃什么、不吃什么。 所以中医对坐月子不仅有“忌口”,而且还有“发奶”,现代医学中统统没有。

  除了吃、住之外,还有一个“行”。我们那地方有月子之中不能串门之说, 否则会很不吉利。产妇不仅要坐,而且必须“坐”在床上,否则会伤了元气。其 实,孕产妇体内的血液处于高凝状态,长时间坐着、躺着不动,很容易发生下肢 静脉血栓。血栓一旦在血管内流动,栓塞肺动脉,是很危险的,会导致产妇猝死。 现在几乎每年都会听到这类的悲剧。以我的观点看,不仅不能坐,而且要早下床 活动。当然,活动的量得适当,不建议产妇产后去跑步。适当地在室内走走,在 院子内走走就行了。没有必要很大量地运动。所以,我们鼓励患者及早下床活动。 我常规指导下级医生术后24小时内拔导尿管,患者不起来也得起来。有些医生不 知道这个道理,一个劲地打点滴,甚至打到出院时为止,打完点滴才给拔导尿管。 其实,导尿管保留3天以上时,90%以上会发生泌尿道感染,应该尽早拔掉。这类 “中西医结合”,不仅无效,反而有害。

  就这么一个“坐月子”,拉拉杂杂写了这么多。如果现在要我翻译这三个字, 感到还是很为难,这与科学不科学无关,而是我的外语表达能力不好。三个字要 用三千个字来表达,说明我们的传统文化真的是博大精深。我也没有受过正规的 中医教育,这些东西全部是病人咨询时,一点一点从患者那里得来的,很不全面。 中国各地的饮食习惯差异很大,忌口的习惯也差异很大。希望各地的网友在此跟 帖,看看全国各地还有一些什么样的与产妇坐月子有关的习惯?

  文章贴出来后,有不少读者发表了看法,跟了不少帖。感谢这些读者的同时, 这次在发给新语丝时,就再多说几句:那就是产后有没有必要吃药?我的观点是 不吃。但是,现在有很多医生给患者开中成药“益母草冲剂”或“益母草胶囊”。 冲剂也好,胶囊也罢,都是穿在这个中成药身上的外衣,实质还是中药。既无发 奶的作用,又无减少出血的作用。恰恰相反,这个益母草服下之后,会使患者的 出血增加。有人在对另外一种药物做对照研究时,就把益母草拿来做对照组,可 见大家的“先入之见”有多深。可惜,观察的结果是,益母草冲剂组的患者,产 后的出血量最多,多于空白对照。我把这篇文章杀了,斑竹在驳斥我的中医观时, 对此好像还批评过。我当时也没有对此进行辩解。有兴趣的读者,可以翻翻关于 与斑竹争论时的帖子。

  此外,一个很正常的产妇,要不要吃其它的药,要不要使用预防性抗生素? 我知道,现在在中国不使用预防性抗生素的医疗机构没有几家,但并不能说这种 做法就是对的。至少我这里的平产产妇没有使用任何抗生素,也没有一例发生过 感染,这点我坚持的还是对的。有一次与斯坦福大学的一位教授讨论产后抗生素 的使用问题,得知美国的择期剖宫产也不使用预防性抗生素,但我们还做不到。 不是怕病人感染,而是怕病人感染了输不起官司。曾经有几次想把对择期剖宫产 患者的抗生素停掉,但大家一致反对,连卫生局也模棱两可,我就没有办法了。 只有一次,有个过敏体质的患者对几乎所有的药都过敏,但又有医学原因需要做 剖宫产,那次我建议不使用任何抗生素,患者术后没有发生感染。其实,当时除 了我,其他人都提心吊胆,生怕患者感染。后来患者出院时,我提议不再给择期 剖宫产患者预防性的抗生素,但大家还是不同意,都说提心吊胆地过日子很可怕。 在这里,真心希望看了本文的读者,如果你的太太或友人生孩子,建议他们尽量 不要使用抗生素。因为没有这个必要。万一有发热,在常人我们多考虑感冒,但 在产妇,我们更多地考虑是不是有产后急性子宫内膜炎,这时候再使用抗生素, 其实并不会耽误患者的病情。

(XYS20080701)

◇◇新语丝(www.xys.org)(xys2.dxiong.com)(www.xysforum.org)(xys-reader.org)◇◇

程序员的洁癖

| Comments

程序员这个群体里有一些人有代码洁癖,他们遇到一个烂东西往往不能忍受,一般认为,这对工作的推进是很不利的,因为有时候过于追求 do things right 会导致不能及时的 do right things 。

但是我却有些不同的想法,我们常常看到的情形其实不是洁癖太多而是太少,甚至对代码没有什么责任感,一些“很有执行力”的同事,其实是“大干快上”的路子,这样会让工作变成历史包袱。

当然,有洁癖的人确实会显得“执行力”不够,但是问题可能并不出在“因为洁癖要追求完美”,而是——能力确实就不够。

这么说有些残忍,不过以我自己的经历看,可能这才是真实情况。

我也是个有洁癖的人,干活一直不是很快。刚工作的时候别人往往建议”别想太完美,做了再说“。现在工作很多年了,有些方面我开始熟悉甚至精通,由于经验积累,我在这些方面做事会比较快,这时遇到之前的朋友,他们会觉得我开始务实,不那么有洁癖了。

然而我的洁癖其实一直没变,变化的是工作能力。即使现在,如果遇到我不熟悉的领域,工作还是不够快。当然,这时其他人会觉得“你又太注意完美了”。

追求完美当然很好,这些人只是觉得过于注意完美会影响效率。逻辑确实没错,不过我们怎么判断这个度呢?有些我们一开始没有想好的东西会影响后续的很多工作,而有些东西计较太多却并没什么区别。是“吹毛求疵”还是“远见卓识”?如何判断?

说实话,我也没什么好办法,可能有点帮助的就是过往的经验了。编程是一个创造性的工作(如果只是重复劳动,那么复制即可,也就不需要coding了),不过通过抽象、类比这样的思维活动,我们能找到一些和过去的经验类似的模式,回想过去的经历,我们会认识到某些事情看来不重要,而某些则对后续工作影响深远,在这些经验的支持下,我们会选择把力气用在什么地方。

从这个角度看,你会发现一个现象,其实没有真正意义上“求全责备”的人,即使那些公认有洁癖的人,也不会在所有地方都吹毛求疵,他们只是在“什么东西更重要”这个问题上作出了与你不同的回答而已。

每个人的经历都不尽相同,因此基于经验产生的判断也不会完全一样,而团队需要交流的,正是这种不同的经验。由于每个人的思维都可能存在盲点和误区,大家沟通各自的旧有经验,发现值得重视的地方,就可以不断改进工作;另一方面,由于每个人都会有一些思维定势,因此交流和沟通都会带来冲突,解决冲突需要冷静细致的工作,甚至还要搭上时间成本。因此,民主的氛围有时会比较有助于团队成功,但有时又会带来很多的代价。在这方面没有标准答案,只能尽量的寻求平衡。

甚至经历也不是万能的,有过几年工作经历以后,很多人都会遇到被自己的旧知识“坑一下”的情况,似乎以前的教训现在也可以忽视,而以前的成功方法放到现在反倒是一剂毒药。这是“创造性”工作的本质决定的,抽象也好类比也罢,它一定需要丢弃一些不同,我们常说“旧观念需要更新,情况变了”,这里的情况就是那些被抛弃掉的、本以为不重要的东西。

上述话题要说完整可能需要很多篇幅,这里只想说明的软件开发是一件很难的事情。而正是因为软件开发如此之难,因此需要每个人都有一些“洁癖”,工作时需要更多的思考,而不只是完成任务。如果你因此而进展缓慢,无论是不是因为“洁癖”太多,努力提高能力和经验都是解决之道,慢慢的,你的工作会更熟练,效率得以提升,同时也更有经验去判断什么才是真正重要的问题。

比特币值多少钱?

| Comments

「摘要:货币作为通用凭证,其价值是背后所背书的商品和服务,比特币的价值就由此决定。」

前段时间写了一篇文章讨论比特币,有同事提了一个问题:“比特币到底值多少钱?”,最近一个月,比特币的交易价从4260到2420(根据okcoin交易所价格)出现大幅度波动,让这个问题显得更现实了。

比特币值多少钱?讨论这个问题,其实还是要回归到货币的本身作用上去,我们先复习一下基本常识。

作为媒介,货币把以物易物的一次交易分割为两笔交易:第一次是用自己生产的商品或者服务交换得到货币,第二次是用货币交换自己需要的其它产品或者服务。因此,这两次交易可以在不同的时间和地点,为供需双方提供了方便。考察这个过程,可以看出,货币本质上是信用凭证——人们可以用它证明自己曾经对外提供过某种价值,并以此要求获取同等价值的其它商品或者服务。

为了方便讨论,我们把商品和服务统称为商品,后文中提到的商品,如无特殊说明,指的既包括狭义的商品,也包括服务。

既然是基于价值的信用凭证,那么凭证的“价值”其实就是它背后所“代理”的商品的价值。简单来说,一枚比特币的价值仅取决于进行交换的两个人,以买一块匹萨为例,如果你愿意用一块匹萨换得一枚比特币,那么这枚比特币的价值就是一块匹萨的价值。

这看起来是废话,但很多有价值的结论往往会基于这种废话,正因为前提正确到了接近废话的地步,我们后面的结论才会可靠。

进一步考察上面买匹萨这个现象,我们考虑到每一枚比特币都是实质等同的,换句话说,每一次交易都是在为所有的比特币确定了一个价格,随着各种交易的不断进行,这个价格也在随时变化。这些看起来似乎没有什么规律,然而如果我们把视角切换到整个比特币市场,你会发现,基于上面的前提,我们可以为整个比特币市场建立一个对应关系:

所有流通的比特币总价值 = 所有用比特币进行交易的商品总价值

从某种角度看,上面这句话实际上是从宏观角度重复了刚才说的前提。在比特币交易市场上,无数的消费者用脚投票,在不断的界定比特币的价值。在这里,比特币的价值,就是比特币交易所的成交价。

“交易所的交易价就是比特币的价值”,肯定会有人感觉很荒谬,按照这种分析,岂不是可以假设任何一个商品可以具备任意高的价值了吗?

这话也对也不对。现代经济学(不是马克思那一套)认为交易就是双方界定价值的过程,只要有人愿意出价,那就是对这个商品进行了一次标价,而考虑到各类人想法不同,这个价值的确是”一切皆有可能“。但是,当无数的交易构成了市场时,情况又会从混乱趋向稳定,即使一两个人出于恶作剧的目的进行捣乱,众多的交易一旦展开,商品的价格还是会稳定下来,这就是所谓的市场价。

不过问题并没有结束,现在我们的理解是:比特币的价值等于现在的市场交易价,但这只是现在。而当人们在问“比特币值多少钱”的时候,他们真正想问的其实是未来——比特币会值多少?

答案很简单,由于比特币作为货币是一种信用凭证,所以比特币市场中”输入”了多少商品,现有的比特币就“背书”了多少商品,相应的,未来有多少财富进入这个市场,那么比特币就会在将来值多少商品的价值。

需要说明的是,这个规律对进入比特币市场的其它货币也适用,因为虽然货币不等于商品本身,但是它们也是信用凭证,其它货币的进入实际上等价于它们“背书”的商品进入了比特币市场。

那么,这个价值会有多大呢?其实在2013年比特币暴涨的时候已经有人算过了,在一篇名为《比特币的内在价值》的博客中,作者写道——

  • 如果你认为比特币和黄金差不多,全球央行的黄金储备总价值大约12万亿美元,换算下来一枚比特币大约价值57万多美元。
  • 如果你认为比特币能完全替代美元钞票,美元的M0大约9000亿美元,如果用2100万比特币代替的话,一枚比特币大约价值4.5万美元。
  • 如果你认为比特币能够替代全球隐藏的「黑钱」,由于「黑钱」不好定义,我们用「消失不见」的美元钞票来代替。全球的黑钱大约有1万亿美元。假设都用比特币来持有,一枚比特币的价值大约为4.8万美元。

事实上,这种计算方法就是基于比特币将会覆盖的商品市场规模来进行估计的,根据我们之前的逻辑,其实这个估计方法原则上是合理的,当然细节上需要修正。


注: 这里的“细节”主要是需要考虑流通速度,考虑到费雪公式:

P × Q = M × V (商品加权平均价 x 商品数量 = 货币数量 x 货币流通速度)

对于比特币来说,假定商品数量和价格不变,流通越快,需求量会越低。

通俗来说,如果一张美元每天经过1次交换,而比特币会经过3次交换,那么需要的比特币仅有美元的三分之一。


这结果也许令人吃惊,甚至有人认为这些都是天方夜谭,是郁金香泡沫,他们说法币才是有价值的货币。其实不然,认为法币天然有价值,有可能会陷入一个循环论证的陷阱:首先再重复一遍我们之前的结论了——一种货币值多少钱,取决于通过这种货币作为信用凭证表示的商品价值总量和货币总量的除法商;然后考虑一下那些人的逻辑:因为法币有价值,所以应该会有很多人使用,而法币值多少钱,又归因于众人的使用——这不正是自我循环么?

这个循环论证的错误如此简单,所以有些人也知道没有说服力,所以他们找到了一种补救性解释——法币不只是普通货币,它背后有国家信用背书,因此它会更有价值。

这个打补丁的解释也有问题,因为国家信用并不是什么神秘力量,它只是信用相对更好,并不是无限责任,在一个较长期的时间范围上看,国家的货币信用其实是很不靠谱的,如果法币的价值在于国家信用,那么其优越性也不会比某个大公司发行一种货币更好,这也是《货币的非国家化》作者的思考基础——国家在本质上也是一个市场主体而已,因此法币没有特殊性(货币的信用到底是什么?这个问题深究一下也很有意思,后面有机会再说吧)。

既然我们不能用自我循环来证明什么,那么就回归到货币的价值上去,看看货币究竟是解决了什么问题。前面说过,货币是基于价值的信用凭证,那不妨讨论一下为什么需要这个凭证,我们也许就能明白货币这个凭证的价值。

不用过多解释就能想明白,货币这个凭证是为了让以物易物的交易分离出交换双方,使得双方可以独立进行,换句话说,货币是用来降低交易费用的。优币还是劣币?至少在流通能力上应该可以体现:

法币的交易需要银行介入,转账及其复杂,成本高傲,费用也不低
比特币的交易可以独立完成,成本很低

不能随意制造导致贬值,这只是一个好货币的基本要求(当然,现存的各种货币连这个都很难达到),比特币在这点上只不过和黄金相同而已;而低成本、稳定可靠的交易费用,这才是比特币超越黄金(也包括纸黄金)的魅力所在,基于这个前提,比特币能够广泛用于一切电子交易,同时能降低跨国交易成本,这个市场如此之大,足以支撑比特币的价值走上更高的台阶。

[注:本文最近一次修改时,比特币按照 okcoin 的成交价已经跌到了 2700 RMB 以下,所以你可以把我这篇文章看作一个预言,一到两年后我们再回来看这篇文章吧]