Saturday, March 24, 2007

探花

  消磨无聊经年,刻纂倩影,割断姻缘。

若个孤客,吹了衣单,放下酒残。

都道是英雄多情,索性作浪子寻欢。

寻欢何处?泊大江湖,忆梅花苑。


  潦倒深醉深眠,游走红尘,戏对红颜。

我在谁边,伊在谁边?不羡神仙。

笑你时潇潇洒洒,哭我时疯疯颠颠。

莫惊我梦,醒又把盏,醉又把盏。

Friday, March 23, 2007

mutt + msmtp + getmail 配置备忘

.muttrc

set locale = zh_CN.gbk
set charset = gbk
#设置邮件储存位置
set spoolfile = ~/spool/inbox
set mbox_type = Maildir
set folder = ~/Mail
set mbox = "+inbox"
set record = "+sent"
set postponed = "+outbox"
#用msmtp发送邮件
set sendmail = "/usr/local/bin/msmtp"
set use_from = yes
# 设置用gmail帐号发信
set from = xxxxxx@gmail.com
set envelope_from = yes
my_hdr From: xxxxxx
my_hdr Reply-To: xxxxxx
ignore headers *
unignore headers from: to: subject date
#set hdr_order to from subject date
#设置快捷键G调用脚本 checkmail 检查新邮件
macro index G "!~/checkmail\n" "Checking mails......"
#处理html格式的邮件
auto_view text/html
#邮件头的颜色
color header brightred black ^from
color header brightblue black ^to
color header brightcyan black ^subject
color header brightgreen black ^date

.mailcap

#设置用w3m显示html格式邮件
text/html; w3m %s; nametemplate=%s.html
text/html; w3m -dump %s; nametemplate=%s.html; copiousoutput

.msmtprc

# Set default values for all following accounts.
defaults
tls on
logfile ~/.msmtp.log
# gmail.com mail service
# 设置用gmail的smtp服务发信
account gmail
host smtp.gmail.com
from xxxxxx@gmail.com
auth on
user xxxxxx@gmail.com
password xxxxxx
port 587
# Set a default account
account default : gmail

用getmail收取邮件的checkmail 脚本

#!/bin/bash
#[username]和[password]用真实的用户名和密码代替
echo -n "Checking "
echo -n "xxxxxx@21cn.com "
getmail_fetch -d -q pop.21cn.com [username] [password] ~/spool/inbox
echo -n "xxxxxx@tom.com "
getmail_fetch -d -q pop.tom.com [username] [password] ~/spool/inbox
echo -n "xxxxxx@163.com "
getmail_fetch -d -q pop.163.com [username] [password] ~/spool/inbox
echo -n "xxxxxx@gmail.com "
getmail_fetch -s -q pop.gmail.com [username] [password] ~/spool/inbox
echo "Done."

Friday, March 16, 2007

Linux的声音系统

作者:Roderick W. Smith
翻译:windrose

从Linux控制台唤起你注意的简单的“丁”声,到DVD的环绕声,今天音频已成为桌面计算的重要部分。确实有许多计算机用户不需要声音,但是声音能够为许多计算机任务增色。正是如此,音频硬件已经成为一个几乎所有主板和操作系统,也包括大多数Linux发行版,的通用部件。

不幸的是,配置Linux的声音是一项让人头疼的事。在Linux中,有3套音频驱动,使用着两种不同的API。在这些驱动之上,还有几种支持库,目的是让程序员的日子好过一点,但对最终用户增加了配置的复杂性。实际上,对于一个普通用户,让系统发声会成为一项令人沮丧的经验。假如某个发行版没有正确地配置好声音,最终用户面对的将是寻找、安装和调试各种模棱两可、没有完善文档的设置选项。

作为对Linux声音系统的调查,让我们从对声音架构的总体认识开始。了解多种音频流如何混在一起同步发声也正日益重要。在这些话题的基础上,对于特定驱动的认识就显得很必要。声音设备文件以及它们的权限经常是发生问题的根源,所以我们也会谈到这个话题。此外,支持声音的库文件既可以是祝福

Linux声音系统全貌

理想化地说,音频应用程序应该是直接了当的:发出一个命令或点击一个按钮,就可以听见预期中的声音。在这个情形的背后,Linux采用了几种层次的工具来发声,如图1所示。

sound_02
图2: 混音器使你能够设置声卡的音量

声音数据在某个应用程序和声卡之间准确的传输路径,取决于该程序以及系统的整体配置,会有极大的差异。由于这个原因,追踪声音的问题也就非常困难。到底问题是出在硬件损坏、驱动程序的编程错误、库文件的错误配置、应用程序出错还是这些问题之间的相互作用呢?

如图1所示,声音库和应用程序都可以直接和声音驱动程序打交道或者依赖于其他的库。有些应用程序和库提供了多种选择:它们既可以直接使用驱动程序也可以通过其他的库来做。虽然图1还不很完备(还有数十个小的声音支持库),但已经涉及了许多最常用的工具和库,包括:

  • 声音硬件 - 尽管在图1中只显示成一项,实际上有许多不同种类的声音硬件。如果没有支持你的硬件的Linux驱动程序,你可能该买个新的硬件。
  • OSS - 2.4.x版内核系列中,OSS的开源版本是标准的Linux音频驱动。4Front Technologies (http://www.opensound.com)公司还提供商业版。对于软件来说,标准的内核OSS驱动和商业版OSS驱动没什么不同。多数Linux库和发声工具都支持OSS。尽管2.6.x版本的内核中还包含OSS,但是它们已经正式被ALSA所取代。
  • ALSA - 高级Linux声音架构(ALSA,http://www.alsa-project.org)是OSS的替代方案。ALSA既兼容OSS,又提供了新的音频界面方法。ALSA作为2.6.x内核的标准配备,也能在编译成用在以往的内核上的模块。
  • ESOUND - EsounD是一个库以及后台服务,目的是无论使用OSS还是ALSA,它都为Linux音频系统提供一个统一的界面。EsounD还提供了一些底层驱动程序所没有提供的额外特性,例如支持多音频流同时发声(这个库有时也叫做esd)。
  • POLYPAUDIO - 这个库是意图取代EsounD的不速之客。
  • ARTS - aRts(http://www.arts-project.org)与KDE相联系的声音库。它能用EsounD、ALSA或OSS作为输出。你通过与之关联的后台服务使用aRts来产生对网络传输透明的声音,对于使用网络瘦终端来说会很方便。
  • SDL - SDL(http://www.libsdl.org)是一个游戏开发者常用的跨平台的多媒体库,它经常用名为libsdl的包安装在Linux系统中,它可以依赖于多种其它的库或者直接和声音驱动打交道。
  • 声音应用程序 - 最终你的兴趣在于使用声音应用程序,例如XMMS(http://www.xmms.org)。这些程序可能直接用到一种或多种的音频驱动,可能依赖于某个库,或者给你提供几种选择。
也可以是诅咒,所以了解它们也很有帮助。在文章的结尾,当掌握了前面的基础知识,你可以测试和使用声音工具,并且设置常见发声程序的选项。

处理多音频流

Linux声音系统的一个烦人的方面在于处理多音频流。传统上,Linux声音系统是单线程的:如果某个程序在发声,别的程序就不能发声了。在某些情况下,这样会产生问题。

例如,假设你设置了让email软件在有新邮件到达时发声。如果你正在听一个OGG文件而有邮件来了,邮件程序将不能发出新邮件到达的提示声。随着越来越多的简单程序具备了发声功能,这种限制成为一个越来越严重的问题。

解决这个问题有两个办法:为音频驱动添加多线程支持和为音频库添加多音频支持。可以认为,为音频驱动添加多线程支持是最好的办法,因为直接使用音频 驱动的程序无须修改。如果你的所有程序都使用同样的库,用库文件来处理这个问题则更快速,但是只要有一个程序是直接使用音频驱动的,这个好处就非常受限制 了。

今天,许多ALSA驱动支持多音频流。然而,这种支持在一定程度上取决于音频硬件。同时,ALSA的OSS模拟对多音频流没有支持──使用OSS的 程序享受不到这种好处,除非它想和使用了ALSA的其它程序竞争。OSS也采用了一些多线程的支持(常被称为多线程OSS)。EsounD、aRts和一 些其它库也支持多线程发声。

从实用上说,你应该尽可能多地采用多线程的选择。假如一个程序能让你选择使用多线程的库还是直接使用不支持多线程的驱动,那么在所有可能情况下应选 择用库。假如你可以在ALSA和OSS之间选择,而你的ALSA驱动支持多线程,则使用ALSA驱动。你可能无法设置每个程序都使用多线程的方案,但是你 很可能能把大多数频繁使用声音的程序设置成多线程的。


启动驱动程序

驱动程序代表着Linux声音系统的核心。因此,编译和安装驱动是至关重要的。不幸的是,这个任务有时候看起来像是巫术。Linux的音频驱动是出 了名的难伺候。在驱动程序层面的出问题的原因包括选错了驱动、不同种类驱动(ALSA和OSS)之间的相互干扰以及用了错误的驱动程序(通过错误的声音设 备文件,很快会谈这个话题)。

首先你必须决定是采用ALSA驱动、内核OSS驱动还是商业版OSS驱动。为此,你应该在有关网站或使用内核配置工具查看你的硬件兼容性。假如你的 硬件有多种驱动的支持,你得逐一测试以找出最好的那个。但是要小心 -- 如果你试图同时直接把两种驱动加载到内核,最多只能是其中之一能够工作。要想逐个尝试,你需要编译两个内核或者把驱动编译成模块,这样就可以随你的意愿加 载或卸载了。

假如你的系统已经有了基本的声音,最好不要改变配置,除非真有这个必要(例如,你因为别的原因需要重新编译内核)。

当挑选需编译的驱动时,选择“Device Drivers, Sound, Sound Card Support”这一选项。然后,在ALSA或OSS之间作出抉择并设定选项。

通常情况下,把声音驱动直接编译进内核比把它们编译成模块要容易得多,但是编译成模块会更有灵活性,因为你可以随意加载或卸载。编译ALSA模块 时,要选择OSS兼容的选项(对于mixer功能和PCM功能都要选),因为许多程序编程时是直接使用OSS设备的,如果你不包含兼容层,它们将不能工 作。假如你想使用商业的OSS驱动,你必须在内核设定基本的OSS支持,但是不要选择把你的声卡驱动编译进内核(最多只是把它编译成模块)。

一旦你重新编译了内核并用新内核重新启动之后,声音可能正常也可能不正常工作,这取决于你设的选项是否准确。如果你把关键功能编译成了模块,你需要 加载它们。你可以用常用的命令,例如modprobe做到这一点。然而有些驱动需要在加载时设置特定的参数,ALSA就常有这种情况。请在ALSA网站查 看详情,每种声卡都有所不同。典型情况是,你必须把几行alias命令加入到 /etc/modules.conf 文件中去。



声音设备文件

许多Linux驱动允许程序通过读写设备文件来使用硬件,这些文件存在 /dev 目录和子目录里。对于音频设备也是如此。不使用库文件的程序会直接使用设备文件,而使用了库文件的程序通过库文件间接地使用设备文件。

表1概括了对应OSS和ALSA的最重要的音频文件。这些设备文件依据它们的用途分属于几个范畴。(多数文件名以0或C0D0结尾。当你有多个声卡时,这些数字会变化,有些情形下会完全省略掉。)

表1: 重要的音频设备文件

设备类型OSSALSA
数字取样/dev/dsp0/dev/snd/pcmC0D0
Sun音频兼容性/dev/audio0N/A
混音器/dev/mixer0/dev/snd/mixerC0D0
高层音序器(high-level sequencer)/dev/music0N/A
低层音序器(low-level sequencer)/dev/midi0N/A
声音状态/dev/sndstatN/A
控制文件N/A/dev/snd/controlC0

对于大多数功能来说,最重要的文件是处理数字音频的输入和输出的数字取样文件,以及使调音程序能够控制音量的混音器文件。Sun音频兼容性提供了与 Sun工作站兼容的界面,对应于一些非常老的程序。音序器(sequencer)文件使你能播放MIDI文件,但不是所有的驱动都支持这个特性。状态和控 制文件给声卡提供了信息和控制的界面。

早期版本的ALSA要求你运行一个叫snddevices的脚本来产生声音设备文件。这些文件在后期版本的ALSA应该是自动生成的,或者应该在多数现行的Linux发行版中默认建立。

尽管如此,假如你找不到适当的声音设备文件,你应该找找snddevices脚本并运行一下。

有个重要的细节是,打算使用声音应用程序的用户必须对设备文件有读和写的权限,至少对OSS风格的访问有这种权限。多数Linux发行版用两种途径 之一来处理这个问题:或者提供一个具有写权限的组(例如audio或sound组),你可以把用户添加进去;或者把设备文件的所有权改成当前登录用户。前 者会在用户远程登录并使用声音应用程序时产生冲突,而后者会在系统有多个用户登录时出问题(例如,你特地用多个用户名登录

安装库文件

许多程序依赖声音库,所以首先你必须安装这些库文件。幸运的是,如果你知道需要哪些库文件,这项任务是相当简单的,只要找到并安装适合你的发行版的软件包就行了。

库文件的部分问题在于,你不一定知道使用一个特定程序时的具体要求。有些程序在找不到所需的库文件时,会把一些选项隐藏起来。另一些不提供先决条件的说明,特别是当你从tar.gz格式(tarball)安装,或者是用其它绕过你的包管理系统的方法安装时。

然而,当通过RPM或用Debian的包来安装程序时,如果你试图安装的软件依赖于一个你还没有安装的库文件时,包管理工具会发出提示。在此情况下,你需要循着线索找到那个库。(有些包管理工具,例如APT,会自动帮你做这件事)

值得稍微详细地介绍一下Gentoo。由于它采用的是“全部自己编译”的方式,Gentoo让你在程序中明确包含或排除对特定音频库文件的支持── 至少对于在编译时支持这些选项的程序如此。/etc/make.profile/make.defaults 文件包含了在可能情况下应该用到的所有库文件的清单,每个占一行。

假如你知道你不想用到某个库,比方说SDL,除非绝对必要,你应该在上述文件里面注释掉sdl这一行。你也可以在每次运行emerge时个别改动, 通过加入库的名称以提供支持,或者在库名称前面加个“-”(比方像这样 -sdl)来忽略对这些库的支持。然而,这些选项只会在当这些库被列为软件包的“可选”(optional)库文件时才有效。

例如,如果软件包必需SDL才能正常工作时,在emerge命令中指定 -sdl选项将不起作用。你应该小心这些问题,因为可能造成程序的选项出现或消失。在某些情况下,它们还会影响到程序的音频质量。如果一个库比起另一个 来,能更好地在你的硬件和程序上工作,你的选择就会影响到声音输出的质量。

为了得到这种控制权,在传统的二进制Linux发行版上,你必须用源码重新编译软件包,这么做要么干脆绕过包管理系统,要么用你喜欢的编译选项产生定制的软件包。

有些库提供了设置各种选项的配置工具。例如,aRts让你选择用ALSA、OSS还是EsounD(很快会更详细介绍)。你可能要看看库文件的文档来了解它提供了哪些选项。


测试和使用声音工具

所有的库文件和驱动程序安装之后,就可以着手测试声音了。做这件事,最好从最简单的工具入手 ── 即那些不依赖于驱动程序的。然后,再逐步向“上”测试用到不同的库文件的其它工具。

  • play
    play命令直接通过OSS驱动(或者ALSA对OSS的兼容层)播放声音文件。例如,输入 play test.wav 来播放 test.wav。除了用 cat 直接发送一个声音文件到声音设备文件(这将极大地扭曲声音)之外,这是测试你的声音系统的功能和可操作性的最简单办法了。如果你使用了ALSA但是没能成 功编译或加载OSS兼容支持,play命令将不起作用。
  • aplay
    aplay在ALSA中的作用等同于play,用法也完全一样。如果你用ALSA,两个工具都应该试一下。如果aplay能用而play不行,通常表明你没能成功编译或加载OSS兼容支持。
  • esdplay
    这个命令与play,aplay非常类似,只是它通过EsounD播放文件。

这些程序都只播放相对简单的文件,例如.wav文件。它们不能正确处理MP3、Ogg Vorbis或其它复杂的文件类型。

理想情况下,你能以普通用户的身份使用这些程序。然而,如果你在OSS设备文件上的权限不正确,你可能只能以root身份播放声音。果真如此,检查一下你的设备文件的权限然后再试试。

这些程序都有对应的录音程序:rec,arecord和esdrec。你应该能够用这些命令来录制一个声音文件。取决于你的混音器设置,生成的文件可能完全是空白的,即使你已经给了声卡一个适当的输入。

谈到混音器(mixer),这里需要注意一下,特别当你使用ALSA的时候。按照默认设置,ALSA启动时所有的输出频道都是静音的。 因此,你可能能播放一个声音文件,但是却什么都听不到(播放程序可能暂时“冻住”了,但过了一会儿当文件静悄悄地播放完,又“解冻”了)。有很多种混音器 程序,包括mixer,amixer,alsamixer,kmix以及gnome-volume-control。前三个是文本界面的,其余是图形界面 的。amixer和alsamixer仅使用ALSA接口,其它的使用OSS接口或者两者都支持。图2显示了gnome音量调节程序。

sound_02
图2: 混音器使你能够设置声卡的音量

你应该确保你所需的频道解除了静音并且音量调节滑块设置在恰当的水平(你需要通过试验才知道何谓“恰当”)。“Mater”和“PCM”选项对于放音至关重要。如果想播放音乐CD,你可能还需要设置CD选项。

为了录音,通常你必须对“Mic”(麦克风)或者“Line”选项解除静音。许多声卡提供了额外的选项,可能很重要,也可能无关紧要。例如,假如你只有传统的2个喇叭,环绕声的音量选项就不重要,然而如果你用了全套的环绕声系统则另当别论。

当重新启动计算机时,混音器的设置将被重置。为解决这个问题,你可以用一个能从文本文件中读入音量设置的文本界面的混音器。在本地的启动脚本中,如/etc/rc.d/rc.local,加入对这个程序的调用,或者从一个SysV风格的启动脚本中设置调用。

对于OSS来说,mixer程序是个好选择,但是你要从试验中找出最好的选项。详情请查看manpage。对于ALSA,一个捷径是用 alsactl。这个程序能把当前的混音器设置存到一个文件中或者从文件中读出来。当你用自己喜欢的混音程序调节满意之后,用root身份输入 alsactl store 。这个命令将把混音设置储存到 /etc/asound.state 中。此后,你就能在一个启动脚本中调用 alsactl restore 来恢复设置(有些发行版的ALSA启动脚本已经包括了这个功能)。

除了简单的放音、录音和混音程序之外,还有许多更为复杂的音频工具。例如,xmms是播放Ogg Vorbis和MP3文件的常用程序,xine是播放MPEG流媒体的工具,当然,还有许多游戏也播放声音。事实上,声音已经用在许多你通常意识不到会放 音的程序中。例如,大多数桌面环境,像KDE和GNOME,都能把声音和特定事件联系起来,比如说启动一个程序或控制台铃声。


设置 KDE/aRts 选项

许多应用程序和库提供了与声音有关的选项。这些选项你让你选择声音如何输出(直接通过驱动程序还是通过库),或者提供更精细的选项(例如时序选 项)。如果你安装了多个声卡,你也许能选择想用哪一个。尽管将所有应用程序的所有选项罗列出来是不可能的,一些例子能让你建立起有哪些是能做的的概念。

我们来看看设置 KDE/aRts 选项和 XMMS 的选项。

KDE让你通过控制中心来调节输出选项(输入kcontrol命令或在菜单里选择)。这些控制实际上是设置aRts──KDE的声音库。这些选项位于控制中心的“声音和多媒体,声音系统”部分,见图3(有些发行版在名称上可能稍有不同)。

sound_03
图3.KDE控制中心使你能设置aRts选项

“General”标签让你设置有关网络可达性、CPU使用率已经自动挂起(auto-suspend)之类特性(当驱动程序不支持多线程,而且你 也无法告诉aRts使用一个低层的多线程库时,最好是启用最后那个特性)。你也可以点击“Test Sound”和“Test MIDI”来测试aRts的设置(后者不是在每种声卡上都起作用)。

“Hardware”标签设置低层的选项。要特别注意的是“Select the Audio Device”按钮。你可以告诉aRts在几种低层的驱动和库中选择哪一个。典型的选项包括auto-detect,ALSA,OSS,Threaded OSS和EsounD。在不同的系统上,列出来的内容会有所不同,取决于安装的驱动程序和KDE编译时的选项。

默认设置通常是auto-detect,而通常也是可以接受的。然而,如果KDE应用程序(或其它使用aRts的程序)的声音质量有问题,或者 KDE的声音特性与其它程序发生干扰,你可以试验其它选项。你也可以设置额外选项,例如取样率和质量。再一次,默认选项通常是可接受的,但是出问题的时候 你也调整。

设置 XMMS 选项

作为一个专门的多媒体应用程序,与多数程序相比,XMMS提供了更多的音频选项。然而,这些选项并非完全是显而易见的,在 XMMS 菜单条上按鼠标右键并选择“Option,Preferences”,结果就是图4显示的 XMMS “Preferences”对话框。

sound_04
图4: XMMS 首选项对话框让你设置XMMS的输出选项

XMMS 最重要的选项是“Output Plug-in”按钮,使你你选择输出驱动。通常你能在ALSA、OSS和EsounD之间作选择,然而准确的选项依发行版和安装的输出插件的不同而不同。

一旦你选择了要用的输出方式,你还能点击“Configure”机型微调。它会带来一个插件特定的对话框让你来设置其它特性。例如,用 ALSA 插件,你能选择要用的音频设备、启动或停止Mmap模式等等。

有时候,这些选项会对你听到的声音质量造成很大的影响,所以出现问题时,你应该尝试不同的选项。











)。






Monday, March 12, 2007

(ZT)清朝最后一次科举试题 看看你能考中状元吗

第一场,史论5篇:
  “周唐外重内轻,秦魏外轻内重各有得论”;
  “贾谊五饵三表之说,班固讥其疏.然秦穆尝用之以霸西戎,中行说亦以戒单于,其说未尝不效论”;
  “诸葛亮无申商之心而用其术,王安石用申商之实而讳其名论”;
  “裴度奏宰相宜招延四方贤才与参谋请于私第见客论”;
  “北宋结金以图燕赵,南宋助元以攻蔡论”。
  (第1题藩镇,第2题平戎,第3题举贤,第4题变法,第5题以夷制夷,还真是理论联系实际,就是最后一题不太吉利,有亡国之兆。)
  第二场考各国政治,艺学策五道:
  1,“学堂之设,其旨有三,所以陶铸国?造就人才,振兴实业.国民不能自立,必立学以教之,使皆有善良之德,忠爱之心,自养之技能,必需之知识,盖东西各国所同,日本则尤注重尚武之精神,此陶铸国民之教育也.讲求政治,法律,理财,外交诸专门,以备任使,此造就人才之教育也.分设农,工,商,矿诸学,以期富国利民,此振兴实业之教育也.三者孰为最急策”。
  2,“泰西外交政策往往借保全土地之名而收利益之实.盍缕举近百年来历史以证明其事策”。
  3,“日本变法之初,聘用西人而国以日强,埃及用外国人至千余员,遂至失财政裁判之权而国以不振.试详言其得失利弊策”。
  4,“周礼言农政最详,诸子有农家之学.近时各国研究农务,多以人事转移气候,其要曰土地,曰资本,曰劳力,而能善用此三者,实资智识.方今修明学制,列为专科,冀存要术之遗.试陈教农之策”。
  5,“美国禁止华工,久成苛例,今届十年期满,亟宜援引公法,驳正原约,以期保护侨民策”。(这种题目放在现在考,偶看都够用了)
  第三场《四书》《五经》
  首题为:“大学之道,在明明德,在亲民,在止于至善义”,
  次题为:“中立而不倚强哉矫义”。
  三题为:“致天下之民,聚天下自货,交易而退,各得其所义”。

zz:从不合事实的“温水煮青蛙”比喻看经济学家们的愚蠢

原文题为:经济学家和真正的动物世界,作者:苏杨(国务院发展研究中心社会发展部),这里的转贴有删节,全文转贴至unchanged.tianyablog.com

   [Blog主人陈安按语]我觉得非常需要批评一下那些无知盲从的读者和听者们,他们从来没有过自己的判断力,往往听风就是雨,并十分乐意于广泛传播荒谬 但是显得有趣的东西,而丝毫不去思考其间的荒谬。最近又有人认为中国缺少人文精神,说这话的人往往是那些文科的学者们,对于科学一无所知,也没有能力掌握 科学方法,我觉得这真是件很无奈的事情:想来,我们不习惯于理性的中国从来没有过最重要的科学精神吧,到今天我们仍然最缺它!虽然如此,可是我们居然不知 道我们到底缺的是什么,这才是更可怕的事。
  
  我特别害怕经济学家拿动物现象打比方说事,因为结果往往是不知哪儿的动物,不知哪儿的事,非常荒谬。现在已经妇孺皆知的“温水煮青蛙”故事好像就是这样成的真理。
  
   温水煮青蛙“真理”在现象上的一般表述是:把一只青蛙放进沸水中,它会立刻全力挣扎跳出。而把青蛙放进冷水中慢慢加温时,情况就变了:从冷水到沸水,尽 管没有什么障碍限制青蛙跳出,但青蛙会习惯乃至麻木于这种环境微变直到被煮熟。与此现象配套的“科学解释”(即真理)为:青蛙内部感应生存威胁的器官,只 能感应出环境中激烈的变化,而对缓慢、渐进的变化,则几乎没有作用。这个其实不过就是“生于忧患死于安乐”主旨的故事通常被经济学家用以告诫企业领导晏安 鸩毒的危害和防微杜渐的重要。由于其颇为符合侦探小说“意料之外、情理之中”的要诀,很能吸引人的眼球,于是很快风靡一时直至家喻户晓。
  
  但这是真事吗?所谓的“科学解释”真的在“情理之中”吗?一般人尤其经济学家只是敏感于此表述的新奇和生动,却忘了用心思考这么非同寻常的事是故事呢还是真事——其实不用费心思考和苦心调研,顶多花半天时间就能证实或证伪。以我的亲身经历作证吧。
  
   我第一次听说“温水煮青蛙”时,也当然觉得真是有意思,且深为能发现此现象并将此类比到社会生活领域的经济学家所折服。但转念一想,以我和那么多动物打 过交道的经验(有时还是“残酷”的实验),作为两栖类变温动物的青蛙,对水温的敏感必为人不能及,似乎不可能在主要生存技能方面如此弱智。再说了,如果让 我和青蛙换位思考,这水温渐变起的麻痹作用难道比毒品还大?即便水温上升再慢,总有一个致痛温度吧。届时,本能也会驱使我垂死挣扎,断不会听凭那水被我改 造为肉汤。有此疑惑,赶上下乡调研,便真的找来若干青蛙煮之。我以为,水温上升愈慢,越接近于此现象发生的理想状态,因此釜底抽薪、扬汤止沸甚至冷水勾兑 等办法全部用上,每小时升温不到10度——几乎看不见冒热气。刚开始,青蛙的确慵懒于水面假寐。但水温超过30℃以后,青蛙“醒”了,开始了蛙泳,且动作 幅度越来越大。水温超过40℃以后,锅内的水体开始泛波,青蛙在反复“助游”之后终于起跳。尽管被我一再镇压,但还是奋不顾身抓住我的防守空当出锅了。我 不甘心,换只青蛙再试,结果是一定的:当水温超过40℃时(青蛙的一生一般遇不到这样的温暖水体),青蛙必定一跃而起,根本不管这个说法多么生动、合理, 也根本不顾及那么多VIP的面子——有多少经济学家传授过这个说法啊!
  
  真是遗憾,青蛙死活不愿成全经济学家,而“温水煮青 蛙”还是所有我听说过的经济学家讲述的动物故事中听上去最真的。其它的,根本毋须我费心尽力做实验,故事中的创作痕迹昭然若揭。例如,某著名经济学家提出 的描述浙江台州、温州经济发展模式的“小狗经济”。“小狗经济”本意是讲小狗虽然个小,但齐心协力且善于抓住斑马的弱点——鼻子——进攻,所以小个吃了大 个。其实,所谓小狗(根据这位经济学家有关文章的描述及配图,可知小狗是这位经济学家对非洲草原上社会性最强的动物——非洲三色野狗——的俗称)吃斑马, 以动物学的基本原理之一——捕食所得必须大于捕食中考虑风险情况下的体力投入(与经济学中“市场条件下产出大于投入的行为才是自发的”原理很类似)——来 看可能得不偿失。动物捕食肯定是吃柿子照着软的捏,本来通常以吃愚钝的角马(而且还只是老弱病残)为主的非洲野狗,捕食斑马是很罕见的——主要是因为很危 险,而且斑马肉从非洲野狗的营养需要来说并不优于角马肉(我还正好看到过野狗在追逐斑马时伤于斑马蹄下最终不治而死的“动物世界”节目)。千万年来的经验 和教训已经教会了非洲野狗不要碰斑马,少数“不懂事”的野狗也迅速死于非命。结果,尽管非洲野狗的团队精神最强、捕食技巧相对最好,但其肯定吃不上斑马 肉。那位著名经济学家可能考虑到斑马对中国人来说比角马亲切、熟悉多了,所以不惜“自主创新”——我相信他绝对没有在电视上见过非洲野狗捕食斑马。
  
   另外一个故事是:谁钉住了壁虎的尾巴?故事是说日本某户人家,拆木板墙时,发现有一只壁虎被外面钉进来的钉子钉在尾巴上,而那钉子是10年前钉的。动不 了的壁虎为什么能活呢?原来另一只壁虎在不停地衔取食物喂它。用小壁虎来教育大人类,更感人了,更发人深省了。可是,稍微有点动物学常识,就会想到:一只 壁虎能活10年吗?何况,壁虎本是以应急断尾著称的!这种大愚若智且以讹传讹的造假放在别的领域,例如说汽车跑得比自行车快主要是因为轮子多,一定会被人 认为是疯话。但在动物世界怎么就如此频繁呢?在古代这事可是指鹿为马的笑话啊。尽管高智商、博闻强记的经济学家一般还不会无知到臆造“壁虎故事”这样过于 离谱的“动物世界”。但他们的确是时下“创作”动物行为、幻想“动物世界”的主力。我分析,在经济学家中普遍出现这种现象的原因有二:
  一是自己很无知但是却不自知。
  二是自己的无知得到了读者无知的配合因而养成了对涉及“动物世界”的研究不求甚解的习惯。

Sunday, March 04, 2007

一些很彪悍的句子

爷爷都是从孙子走过来的……
  --所有的大白话中都蕴涵着真理
  
  
  其实我是一个天才,只可惜天妒英才!
  --可以看成借口,不过也还有用,心理暗示加乐天知命
  
  
  都是水何必装醇,都是色狼又何必装羊!
  --至少你不伪善,伪善比无耻强得多了
  
  
  你看得见我打在屏幕上的字,却看不到我掉在键盘上的泪……
  ---可以和某位IT精英的与狗聊天论相呼应
  
  
  师太,你就从了老衲吧……
  师太,你就饶了老衲吧……
  --某ID被人篡改得可以为一字之师,真是终生难忘
  
  客官请自重,本姑娘是卖身不卖艺的!
  ---NND,面对很多明星,也许,这才是人格。
  
  
  长个包子样就别怨狗跟着!
  ---白话有白话的痛快。
  
  
  学海无涯,回头是岸!
  ---考研,混硕,读博,出国……以佛眼相看
  
  猪有猪的思想,人有人的思想。如果猪有人的思想,那它就不是猪了——是八戒!
  ---可以用来对付某些伪精英的言论,诸如房子太便宜,穷人都去死……
  
  
  我死了,在烈火中我又站起来了,你猜是涅盘,还是尸变?
  ---面对很多废而又立的事物,不要忘记,此类事情,终究是涅盘的少,尸变的多
  
  
  老天,你让夏天和冬天同房了吧?生出这鬼天气!
  ---面对气温变化莫测的陡变,真正的诗人如是说
  
  
  不要在一棵树上吊死,在附近几棵树上多试试死几次~
  ---这世界本没有彻底完蛋,失败多了,才成了破产清盘
  
  
  
  当头晕的时候我终于明白了什么叫爱情。
  ---相对于你恋爱时的献媚,这是至理名言
  
  
  偶尔幽生活一默你会觉得很爽,但生活幽你一默就惨了~
  ---生活真的很幽默
  
  
  心终于可以放下了,原来那100多个是人头不是猴头!不然死了那么多猴猴多可惜啊……
  ---个人认为,这是对前阵子,某条新闻最彪悍的评论
  
  
  马化腾私下说:“学十年语文没有聊半年QQ效果好!”
  ---如果这真是马化腾说的,至少可以说是他这辈子最真实的言论
  
  
  早餐里吃到刷锅的金属丝很正常,这正说明我们后勤是严格按照先刷锅后做饭的顺序操作的……
  ---塞翁失马论是一种普适的真理。还有苦中作乐的好处
  
  
  
  大便的时候要留一半,免得饿得快~
  ---这人一定发财了
  
  
  女人拥有无数个QQ号只为了调戏一个男人,男人常用一个QQ号上面加满各种各样的女人……
  ---你有几个QQ号?
  
  淫的一手好湿并不难,难的是淫一被子好湿!
  ---丽华这阵子真的被全国人民策醉哒
  
  
  钓鱼岛是中国的,你是我的!
  ---这才是爱国主义浪漫爱情诗人的作品
  
  
  菜刀在手,问天下谁是英雄!!!
  ---有苏公豪放派词风