编程珠玑番外篇-C.正则表达式精义-1

Mar 5, 2009

Comments

很多天前和 zuola 聊天, 偶然提到正则表达式, zuola 说, 会正则表达式的都是牛人. 我说, 其实不难, 买本书看看就会了. 这几天, zuola 又在我博客上留言说会正则表达式才是真的程序员, 因此我想, 还是写篇比较浅显的教程, 让 zuola 同学快速成为牛人吧.

对于普通人来说, 正则表达式是比较难的. 从我个人的体验来看也是一样. 这个难, 主要在于两方面: 1. 接受正则表达式的思维方式; 2. 熟悉表达式里面各种各样的符号的用法. 第一点的难度在于这是个新东西, 和以前的知识结构不一样; 第二点的难度在于各种各样的环境下都对最基本的正则表达式做了很多扩展, 引入了各种各样的新的符号, 这样, 就使得学的时候一下子面对太多的复杂度不知所措. 举例来说, 大多数教程把 ^$*+-{} .?\ 这些符号全部放到一起讲, 全然不分他们的层次关系, 导致学习者云里雾里. 同时, 不同的工具又定义了自己的特殊规则, 使得学习曲线更加陡峭. 因此, 我打算把正则表达式的知识点, 分几个不同的层次, 一一剖析. 在这一部分中, 我把正则表达式琐碎的细节一一剔除, 希望看到这篇文章的, 愿意学习正则表达式的读者, 能够迅速从这些繁琐的细节中解脱出来, 掌握其本质.

首先说正则表达式是什么. 正则表达式是一种描述性的语言, 用来概括一类字符串 (或者说一个字符串集合). 我们当然可以用自然语言来描述一类字符串, 比如我们说, 以 “010 开头的电话号码”, “夹在HTML 的 中间的内容”, “含有 hello 的字符串”, “负数”, “IP地址” “邮箱地址”, 等等. 其实在实际应用中, 我们也常常有这个需求, 比如说提取一篇邮件中所有的 email 地址 (查找), 或者把提取某类电话号码, 升个位, 加个区号什么的 (替换). 人当然可以做这个事情, 但是这个事情重复且单调, 又并不需要太多的智力, 因此, 计算机是最好的工具. 但是问题是, 我们怎么能够告诉计算机, 我们对哪类字符串感兴趣呢? 计算机科学家就帮我们设计了一种让人能够简单的写出来, 表达我们人类想表达的含义, 而计算机又恰好能够很容易的理解和处理的一种表达式, 这就是正则表达式了. 从人和计算机的角度说, 正则表达式是一种人和计算机都能轻松处理的约定, 用来描述一类具有某个性质的字符串.

正则表达式它既有倾向于人的思考方式的一面, 也有倾向于计算机工作原理 (有限自动机) 的一面. 因此, 传统意义上, 如果想真正理解正则表达式, 就要从理解计算机原理入手. 所幸的是, 我们普通用户, 在日常使用中, 并不需要了解计算机的原理, 因为这么多年技术的发展给了正则表达式很多新特性, 让正则表达式越来越脱离计算机的局限, 变得更加适合复杂的任务, 但这样的代价是正则表达式的细节越来越繁杂了, 对于初学者来说更加难学了. 因此我们在这里, 先讲本质, 后谈细节.

最基本的正则表达式, 只有三句话:

一个字符串是一个正则表达式, 比如 aaa, 就是一个正则表达式, 它描述了一个字符串集合, 这个字符串集合里面只有 aaa 这一个元素

两个正则表达式可以直接串起来, 比如 aaabbb 其实, 是由六个正则表达式 a a a b b b 接起来组成的. 我们先笼统的说, 接起来就等于把描述的内容接起来, 等一下再详细解释接起来的含义.

两个字符串, 比如 aaa 和 bbb, 用 连起来, 变成了 aaa bbb, 也构成一个正则表达式, 它描述的字符串集合是原来分别的并集, 比如 aaa bbb 描述了一个集合, 这个集合里面有 {aaa, bbb} 两个字符串.

好了, 就这两三话, 就可以解释正则表达式最基本的思维方式了: 用一个表达式, 去描述一类字符串(或者说, 一个集合).

光有这两个, 还不够强大, 因为上面的正则表达式, 我写几个, 就描述了几个字符串, 也就是说, 描述来, 描述去, 都是有限的集合, 不能描述无限的集合. 而我们想要描述的整数啊, 域名啊, 邮箱地址啊, 都是一切就有可能的, 因此, 我们有必要引入一个新的记号, 能够描述无限的集合,

一个正则式 X 可以加上一个 *, 用来描述任意多个原来 X 描述的字符串拼起来的字符串.

这句话比较费解, 我们用例子来说明一下, 比如 a* 这个正则表达式, 我们知道 a 描述了一类字符, 这类字符里面只有一个 a, 所以, a* 描述了一个或者多个 a.

我们再看 a b* , 按照定义, 这个正则表达式描述了 a 和 b, bb, bbb 等. 如果我们引入一个括号, 写成 (a b)* , 那么 a b 就变成一个整体, 描述了 a 或者 b, 这时候, (a b)* 就是一切只由 a, b 组成的字符串. 这里的括号, 是为了避免歧义, 表示 * 是作用在 a b 整体上的. 这时候, (a b) 描述了 a 和 b, 整体加了一个 *, 意味者我们可以任意选 a 或者 b 一个接一个拼起来, 所以, aba, aab 都是在 (a b)* 的那一类里面的. 注意, * 可以匹配 0 个, 就是说, 这里面包含了什么都没有. 比如说 ab*c 也描述了 ac, 因为中间可以有 0 个 b. 如果您想至少要一个b, 可以写成 abb*c.
为了帮助您理解接起来, 我们再看一个复杂的例子, o(n ff). 我们知道, n ff 描述了 n 或者 ff. 当我们直接把 o 接在前面的时候, 描述的是 on 或者 off. 就是说, 接起来的时候, 要把 o 和后面每种情况都组合一次. 我们再看 (a o)(n ff). 前面描述的是 a 或者 o, 后面描述的是 n 或者 ff, 接起来, 描述了 an, aff, on, off.

我们都知道, 正则表达式描述的是一类字符串, 所以, X 和 Y 在接起来变成 XY 以后, 自然的变成了描述 每一种 X 里面的字符串和 Y里面字符串接起来的情况. 同样, * 好像把 X 和自己接起来多次一样 (可以是任意次), 每次只要接起来的是X里面的字符串, 就一定被 X* 所表述.

(熟悉集合的朋友立即知道 正则表达式是用一个表达式代表了一个集合, X Y 等价于两个集合的并集, 而 XY 拼起来等价于他们所有的元素 x, y 拼起来的集合).

好了, 恭喜您, 您已经学会正则表达式了. 真的, 你已经全部学会了正则表达式的知识. 不过不着急, 我们先回顾一下正则表达式的要点:

  1. 正则表达式由普通的字符, 以及几个特殊的字符, 即 括号 (), 或者 和 星号 * 组成. 用来描述一类字符.
  2. 表示或者. 如果有两个正则表达式 X 和 Y, 那么 X Y 就描述了原来 X 描述的和 Y 描述的.
  3. 正则表达式可以接起来, 变成一个更长的, 描述了一个各个部分被那些被接起来的正则表达式描述的字符串.

  4. () 是为了避免歧义.

我们上面说的这四个, 就是 100% 如假包换的正则表达式了. 以后的, 都是为了更加方便的使用正则表达式, 而又引入的一些扩展. 恰恰是这些扩展, 让初学者陷入了细节的泥潭. 我们在下一节, 一个一个的来对付诸如 +, [, -, ], ^, $, {m}, 等这些非基本的高级的功能. 需要强调的是, 这些高级的功能, 其实都只是为了人书写方便, 而且是完全可以用我们这里说的最基本的几个规则代替的. 这些高级功能, 我们下节再讲.

练习:

写出匹配以下性质字符串的正则表达式:

  1. 字符串 2009

  2. 周曙光同学有两个名字, 分别叫做 zola 和 zuola, 人们常常混淆. 请帮周曙光同学设计一个正则表达式, 可以帮他匹配自己的名字.

  3. 二进制数字 (最少有一位, 但只含有 0 或者 1的)

  4. 非零的十进制数字 (有至少一位数字, 但是不能以0开头)

练习软件:

有一些比较好的软件帮你学习正则表达式, 我推荐初学者用 egrep. 可以在 windows 下用, 具体用法是在命令行 打入 egrep “正则表达式” 文件名

egrep 会把文件里面和正则表达式匹配的行 (该行含有一个字符串, 被正则表达式描述了) 打出来. egrep -o “正则表达式” 文件名 的话就会只打出那个完全匹配的字符串, 而不是行. 另外, 在 Linux 下可以用 grep –color “表达式” 文件名, 这样, 匹配上的那个字符串, 会被高亮显示出来.

练习文件:

0108200920088964

zuola -d

zooooola

world hello -012012 2009

0909 zola zhou

0101001

zuola

(把这个文件存成文本文件, 用 windows 的朋友可以放在您的 “我的文档” 里面, 因为 cmd 就是从那里开始运行. 然后您下载一下 egrep 做实验)

答案:

  1. 2009

  2. z( u)ola [或者您可以写成 zuola zola]
  3. (0 1)(0 1)*
  4. (1 2 3 4 5 6 7 8 9)(0 1 2 3 4 5 6 7 8 9)*

你会看到第四题的答案很笨拙, 居然写了这么长. 后面的大部分细节, 就是为了诸如此类的写得更加简洁一点.

Update:

  1. 按照 AW 的留言和他的博客上的读者留言, 这个在线网站可以在线测试正则表达式:

http://gskinner.com/RegExr/

  1. 如果要论正则表达式方面的参考书的话, 我推荐 < 精通正则表达式>, 中文版余晟同学翻译的, 质量上乘. 这本书可能是正则表达式方面唯一的一本圣经了, 上次我也是直接推荐给 zuola. 本来我是想打算写完了所有的初级教程再推荐的, 所以在本文初稿中没有提到这本参考书.

  2. 才和 zuola 聊天, 他说要讲点具体的 blogger 用到的例子. 其实我之所以没在这篇文章里面讲, 就是因为这样的例子, 都是和应用程序结合的, 需要 sed, htaccess, awk 或者 linux 管道的具体知识, 我就是想解开这些知识的耦合. 一下子看着天书一样的 sed 替换表达式, 是很难一下子学会的. 他的建议是非常有价值的, 可能在本系列最后, 我会补充一篇 blogger 常用的正则表达式用例.


和王俊煜谈 blog 的写作和订阅

Mar 3, 2009

Comments

(原文来自王俊煜的博客, 他整理排好版了, 我就偷懒直接抓过来:)

存放了两天后, 我们还是决定发表这段谈话. 发表的目的自然是为了抛砖引玉, 而不是引发新的无谓争论. 有鉴于此, 我们仔细删改了所有可能冒犯他人的内容. 所有讨论均不针对任何人, 若您在阅读过程中仍有被冒犯之感, 请多多包涵.

时间: 北京时间3月2日凌晨, 米国中部时间3月1日下午

地点: Google Talk

徐宥 (下称 You), 俊煜 (下称Junyu)

如何出名 {#1065_%e5%a6%82%e4%bd%95%e_1}

Junyu: 徐老师, 你火了! 王小峰老师专文推荐了你1哦!

You: 我最近老上名人博… 和菜头, 王小峰什么的都上了.

Junyu: 是吧, 你看你一宣布封笔, 就火了.

You: 哈哈, 对. 你也封笔吧, 保证马上就火. 你最近不写了一篇 hide 啥的么? 最近好像很流行这种 un-sns 诶.

Junyu: 对呀. 我昨天看 maoz 的帖子才知道有人在掐架, 跑去看热闹才发现里面有引用我那篇帖子里面的一段字. 我本来意思不是特定针对某个 blogger, 而是说在别人推荐之余, 我自己也应该有权利大大方方地选择读什么内容不读什么内容——某些 blog 可能很多人都喜欢, 可是我不喜欢, 就应该 hide 掉. 当然我写得比较调侃一些, 可能导致别人误会.

You: 写博客确实很危险, 不小心就会引火烧身. 有时候顺手带一句话, 也没有什么主观的恶意, 但到了互联网上大家一围观, 火就烧起来了.

作者和读者的双向选择 {#1065_%e4%bd%9c%e8%80%85%e_1}

Junyu: 说到退订这事, 当然作者和读者都有选择的自由啦, 但是现在有些作者把这个当成尚方宝剑——你们不喜欢看就别看好了, 没人逼你们看, 你也别跟我吵——实际上就是给自己创造的低质内容找借口, 这不像是 pro blogger 的作为.

You: 这种 un-sns 最近挺流行的. 至于说到为谁而写, 有些博客作者其实不是为自己写, 不是 for fun, 也不是为了读者, 感觉他们肩上有任务似的天天写, 甚至是为搜索引擎而写, SEO 深入骨髓的那种.

Junyu: SEO 深入骨髓我可以接受, 哪个真正的 pro blogger 不是 SEO 深入骨髓呢? 关键还是得看生产出来文章的质量. 质量没上去光花心思在 SEO 上了, 当然惹人反感. 另外我也特别反感那些很 aggressive 地在各种场合 promote 自己写的东西的人, 例如有些人就分享自己写的东西一篇不落.

You: 我不反对 promote, 只是有的文章本来价值并不高, 不分青红皂白地 promote 就有点随地倒垃圾的感觉了. 真的写得好的 promote 一下我觉得还是很值得的. 比如冉云飞天天写, 日拱一卒, 到哪个网站都天天被推荐上首页, 可因为我觉得他写的文章不错, 所以一点也没觉得烦; 相反, 有些文章写得不怎么样的, 即使你没订吧他还会挂到签名档啥的, 再不济也会别人共享出来的, 想躲还躲不开, 这就反感了.

Junyu: 所以看起来归根结底还是文章本身质量的问题. 文章质量不好, promote 也是揠苗助长. 而且也跟受众个人的 preference 有关, 不区分听众的话, 相对来说效率比较低. 这里还是得有个双向选择.

高高在上的在线人生导师们 {#1065_%e9%ab%98%e9%ab%98%e_1}

Junyu: 另外, 国内有好些 blogger 都还挺喜欢当青少年朋友的在线人生导师的.

You: 要当在线导师就得天天写. 水平和思考深度怎么样暂且放一边不说, 我觉得, 有些 blogger 一遇到有点写作冲动的题目就写, 而且特别会吸引眼球, 比如我知道有些人还会盯着谷歌热榜写文章. 用钱钟书老师的话说, 就是把冲动当才华. 附带还觉得感觉挺良好的 :)

Junyu: 就是传说中的责任感是吧, 我想他们也一定觉得自己在做很伟大的事情….

You: 是呀, 大家都梦想 change the world 嘛. 可是这样频繁地同质地灌, 如果自己不是特别有才华的人, 思考和学习的速度跟不上写作速度, 质量自然就会下降. 好比一个水池, 光放水不进水, 最后就只能灌水了.

Junyu: 而且对于读者来说, 篇篇文章内容都是同质的灌水的话, 阅读文章的边际受益也是递减的. 所以久而久之, 肯定有读者就觉得没啥新奇的了, 就退订了.

You: 除非是好朋友, 否则谁愿意几年如一日听一个陌生人唠叨呀.

Junyu: 另外有些导师总是给人一种居高临下的感觉, 指点江山. 不限是人生领域的, 技术领域尤甚, 放眼看过去人人都是李彦宏马云.

You: 嗯, 读得出来有些哥们老把当成自己某公司某组织的发言人, 义正词严的. 对普通读者像传教士一样的, 读得出来那种高高在上的情绪.

Junyu: 对的, 例如我就在经常读别人写的评论的时候觉得奇怪——为什么他就觉得自己是理所当然的正确以至于不用任何解释呢? 可能我事实上也是认同他的观点, 但是没法接受得出这个结论的方式.

You: 嗯, 我也和你一样的看法. 我觉得博客文章, 要说就说, 但是最好别先预设高度, 说, “啊, 这个还不简单. 你们听好了, 现在我告诉你们, 应该这样这样”. 看来我也是和你一样的心理问题, 一遇到这些, 就 un-sns 了.

Junyu: 是啊, 咱们容忍度低.

传播的姿态 {#1065_%e4%bc%a0%e6%92%ad%e_1}

You: 还有转载和分享 “10个人生必备经验” 的那种的, 有些人其实也不是真诚地要分享给好友, 而是在说, 怎么样, 我知道得比你们多.

Junyu: 好像还真有这么一点意思.

You: 我以前就对这种博客写法不怎么舒服, 但没想清楚为啥不喜欢, 现在突然明白了. 我以前有段时间写博客文章也是为了表现, 哦, 我学到这个了, 我知道这个了, 来, 我来教你. 现在很少这么写了了 .

Junyu: 我也有这样的问题, 不自觉就写成了炫耀贴.

You: 炫耀帖别人能读出来的, 读出来之后就会 “duh”, 噢, so what? 时间长了就没人喜欢读了. 我大约 07 年之后就注意写完了再想想这是不是一篇炫耀贴. 不过有时候还是不好避免.

Junyu: 可是说不定有人喜欢受虐呢?

You: 哈哈, 有人喜欢当教主有人喜欢当教众嘛, 没办法的. 咱们要求放低点, 比如一个博客, 不超过一定比例, 不100%全是炫耀贴就行.

Junyu: 不过像写给我们这些高端人群 (…) 看的 , 还是姿态低点比较好. 我们都是有思考判断能力的, 不需要你来给我灌输价值观.

You: 哈, 高端人群. 我也是才想清楚为啥我就不订阅很多在别人看来 “有价值” 的 blog, 应该就是因为他们喜欢比较老师模样地指点你需要这个不需要那个. 可是有一天你醒悟过来, 发现你其实不需要那啥, 那就只好退订了. 如果不是老师的姿态, 而是像朋友那样跟你讨论问题, 即使不是你需要的东西.

Junyu: 朋友之间的沟通对内容的质量要求不高, 重点是你们的关系. 而且朋友之间讨论讨论往往也能产生新的价值.

You: 就是说. 您不能在劣质内容中夹带装逼. 优质内容装逼的我还能忍, 例如 Knuth 同学的书. 可那些大师们的劣质内容, 您都不能给意见, 他们不是写给你看的, 是写给教众看的. 如果环顾左右大家都是牛人, 这点装逼小 trick 的作用就非常有限了. 越是不牛的人越是爱搞点小技巧; 天天和高端人群 (!) 在一起, 看东西看多了相对会觉得平常一点, 就不会写些低水平的炫耀帖. 就算写教程, 也是娓娓道来. 和粉丝混, 就很容易变成, 同学们, 听好了, 现在上课了.

制造高质量的内容 {#1065_%e5%88%b6%e9%80%a0%e_1}

Junyu: 但是有时候觉得 hesitate to share 也不好, 因为说不定你自己觉得不上档次, 对别人还是有用的.

You: 我是知识积累到体系了才写出来, 否则写出来价值也不大.

Junyu: “成体系” 可能是个 good judgment.

You: 观点也是这样. 我不写时评的原因不是因为怕, 而是我爸说, 既然你写的没连岳好, 不成体系, 就不如不要写了. 然后我就真的不写了, 其实积累了很多呢.

Junyu: 我觉得除非你能写出不一样的东西, 否则跟风把别人说过的观点再重复一遍也确实没有必要. 我有段时间就是把东西写完先放两天, 真的有价值的东西不差这两天. 结果就是放了两天之后很多帖子就真的发不出来了.

You: 好像有谁也和我说过类似的建议, 这样避免了很多低质的废话. 另外写下来一样东西确实有助于思考, 我自己常常写日记啥的, 回头翻看的时候还是能发现不少新的东西. 所以写下来放两天之后再回头读读, 说不定还会有新的思考.

Junyu: 我有同样的感觉. 写下来和不写下来看起来就差那么一点点收尾的工作, 实际上的效果天上地下.

You: 是啊, 写的过程就是对思路整理的过程, 帮你把问题想得更清楚透彻. 对你自己很有好处.

四象限 {#1065_%e5%9b%9b%e8%b1%a1%e_1}

You: 我们刚刚提的内容优不优质和装不装逼正好能弄个四象限和对策. 优质内容不装逼, 看; 优质且装逼, 等别人推荐; 低质内容且装逼, 不看; 低质内容且不装逼, 那这个博客要是订了, 一般都是朋友熟人的博客, 一般都是无功利心的看了. 你觉得这个四象限如何?

Junyu: 这两个轴还基本正交, 像模像样的. 我觉得有一点要注意, 所谓内容优质不优质, 其实还是要看你需要不需要. 例如我对生物一点兴趣也没有, 这个领域再 “优质” 的东西, 我也不想阅读.

You: 对的, 我觉得你说的是本质. 越是不需要的内容, 越不喜欢被灌输, 因此就越不喜欢装逼的写法. 其实说白了还是需要不需要这个标准, 正好和优质也好, 灌输也罢, 都是斜交的. 需要的内容, 自然不会退订; 不需要的内容, 优质不优质, 装逼不装逼, 都是表层的原因. 我们可以公开这个科研成果, 这个就基本上解决了我们的价值判断问题了.

Junyu: 那咱们也得先写下来放两天.

-eof-

  1. 所以第二天王小峰老师就被和空格谐了.

别以节省时间的名义浪费时间

Feb 27, 2009

Comments

我大学的时候, 以及在美国的第一年, 间或的过几个月, 就有以下的特征:

  1. 在图书馆看整天的”怎样高效工作”的书.

  2. 喜欢上 lifehack 和 digg 因为上面有时间管理的技巧

  3. 上厕所带本书

  4. 听讲座, 上课, 都要带本书, 怕自己浪费时间

  5. 看到了好的论坛和博客, 记录下, 在自己觉得无聊的时候就上, 名为充分利用自己的时间. 

结果: 该做的事情没做好, 不该做的事情做了也没用. 

想来想去就是一句感悟: 别以节省时间的名义浪费时间. 少看看博客论坛的”精华”, 自己啃书, 天天上晚自习, 最终反而节省时间. 天天想着这也要节省时间, 那也要节省时间, 却一事无成, 就很悲哀了. 时间管理的要义, 在于 GTD. GTD 的要义, 在于 Done. Done 的要义, 在于做. 在柴没砍倒之前, 没人关心的你的刀有多快.


总的来说 写博客是很危险的事情

Feb 14, 2009

Comments

[以下内容, 来自南方都市报 http://china.nfdaily.cn/content/2009-02/15/content_4911943.htm 仅供参考用. 如果有版权问题, 请联系 youxu AT wustl.edu ]

《钱烈宪要发言》是非常出名的一个博客,其作者徐来(网名“钱烈宪”)昨天下午4时许在北京一家书店与读者见面活动结束后被两名歹徒刺伤腹部。目前凶犯在逃,作案动机不明。钱烈宪经医院抢救后情况良好,无生命危险。

受邀参加小型读者见面会

据其新书《想象中的动物》介绍:徐来,江苏人,神话谶纬爱好者,博客“钱烈宪要发言”的主人。曾供职于京沪多家媒体,担任记者、编辑、评论员。作品曾获第三十届香港青年文学奖小说高级组冠军。

昨天下午2时至4时,北京单向街书店为徐来举办了一个小型的与读者见面会,主题是:钱烈宪的“小趣味”。据“热衷八卦事业的兴趣小组”(钱烈宪是其小组长之一)网友“伯通”的帖子,他去参加了这个见面活动,他描述了一下经过:“约两点左右,徐来入场,与主持人交流后,开始侃侃而谈他的‘小趣味’以及对笔记体小说的了解与心得,(讲座中不知为何一楼一直十分喧闹,几次有人劝说都没有作用)之后回答了几位在场朋友的问题,主要内容是他的《想象中的动物》一书、以及他与其他80后作家的对比、他的博客以及思想、理想等。老钱一直谦虚地说自己是笨嘴拙舌,回答问题时对于敏感话语也隐晦带过,可以说没有什么我们想象中的料被爆出来,主要讲的都是文学体验与创作感受。”

两男子将“钱烈宪”架进男厕行凶

据当时在现场的21世纪经济报道记者郭建龙介绍,事发时他在一楼,徐来和一些人在二楼聊天。郭突然发现人全乱了,他过了一会儿才发现徐来在二楼的楼梯口上,捂着肚子,倚着墙。据徐来的爱人后来告诉郭,活动结束后有两名男子将徐来架进了男厕,她感觉不对劲,硬是挤了进去看怎么回事,发现两男子一人持菜刀一人持匕首正在行凶。一个正准备用菜刀砍徐来的手,被发现后两人逃出书店,往长安街方向跑去,有人追赶但没有追上。现场有人拍到凶手模糊的样子,街上也有摄像头,应该可以拍到真凶模样。

昨天下午4时55分,网友“ZOLA”在twitter上发布即时消息:“郭建龙来电:钱烈宪正躺在地上手捂住腹部,我要求他们帮助他用手捂住止血,保持冷静,放松呼吸才能增加生存机会。”“没有生命危险,只挨了一刀,郭建龙和徐来的老婆一起去医院,伤口可能有一巴掌长,血流了不少。目前情绪稳定,正送往医院。”郭建龙向本报记者证实时当时电话的内容。

可能有人因其博客而结怨

据另一著名博客作者“和菜头”从一张现场照片上看到,徐来被救出来后,手捂着腹部,倒在地上。当时有人听到凶手对徐来说:“这下知道得罪人了吧?”

消息迅速在网络上传播。网友“doubleaf”一直在twitter上用手机直播现场情况。

郭建龙说,报警后警车先到,约10分钟后救护车才开到。开始的时候流血并不多,后来送到医院后流血才比较多。徐来神志始终保持清醒。当时在医院帮着转病房时抬徐来的张守刚说,昨晚7时左右从急诊转到手术室,抬他的时候身上的血都没擦干净,张的手上也全是血。

昨晚10时25分左右,和菜头接到电话,家属告诉他,手术结束了。胃部被刺了一个小洞,已经修补好了,意识清醒,血压正常。和菜头说,徐来为人低调,也只是一个科学记者,并不会招惹别人,但他的博客上有很多内容是比较有刺激性的,可能有人因为他的博客而与他结怨。

———————-

以下内容来自吉软糖: http://jiblog.jiruan.net/?p=1595  仅供参考. 如有版权问题请和我联系 youxu AT wustl.edu

钱烈宪(真实姓名:徐来)拥有中国互联网上最著名的博客之一:钱烈宪要发言。而就在今天北京时间的下午,在他给新书签名和讲座活动之后,被两个刺客刺翻在厕所里面,随后被送往医院抢救。这个消息在网上很快通过Twitter这样的即时博客(微博客)传播开来,引起了很多网友的关注。对徐先生的不幸遭遇,我感到十分同情,同时也十分愤怒。最新的消息是他现在已经脱离危险状况。

大家可能都会有这么一个疑问:到底谁干的?

目前钱烈宪本人还没有对此事发言,据说只有他和他夫人看到了凶手,所以大家还没有很多信息做参考,下列都是基于猜测。

让我们首先看一些被网友证实的事实

  • 钱烈宪是下午四时在讲座结束之后厕所里面遇刺的
  • 凶手一个是一把匕首,一个是一把菜刀
  • 钱烈宪被刺两刀,被威胁要砍断手

凶手们似乎是没有想致钱烈宪于死地,而是给予一种警告。那么为什么要这个警告?大概是和他的博客或者书籍有关。我没有读过他的书,但是从阅读他的博客得到了很多启发。

  • 有人怀疑这是政府指使人干的,理由是_钱烈宪的博客有无数揭露政府丑恶的文章,肯定有一些政府官员怀恨在心。_这是有可能的,但是我觉得可能性不是特别大,因为钱烈宪博客基本上的文章都是转载而来,并不是原创,没有针对某个特别的政府部门和个别官员。个别官员可能也没有这个勇气或者必要来发出这个可能把自己拖下水的警告。
  • _有人怀疑是情杀。_这个我不好判断,但是我不太相信是这个理由。情杀也不会选这么热闹的地点,而且很容易被查出来。

我们如何能够抓到凶手?我当然不怀疑伟大的人民警察会调查此事,但是也许依靠人民的力量能够更快找出凶手。

  • 活动现场有没有照片?要是我当摄影师的话,一般也会给下面的观众们照一些照片,而凶手可能就在里面。再加上钱烈宪和夫人都对凶手有记忆,所以找出它们可能比较有希望。
  • 有凶手照片之后再经过全国网友人肉一下估计就能够找出谁干的,比公安部的数据库都会快。

上面只是一些肤浅的思考。我期盼凶手很快就能被查出来,并且受到严厉的惩罚。祝愿钱烈宪能够很快康复,并且恢复博客的更新。其实可以考虑让一个匿名团队来更新这个博客。例如GFW Blog的博主们就做得比较好,我到现在都不知道其背后的个人或者团队。请继续保持匿名。

————-

另外, 我在南京大学小百合的博客今天打不开了, 也不能访问了: http://bbs.nju.edu.cn/vd1652/blogdoc?userid=adapter 

看来真的不能写博客了, 什么也不写了, Game Over


谨以此文献给在网上打口水战的各位

Feb 8, 2009

Comments

原文: http://www.paulgraham.com/identity.html

被我用 Google 翻译过来的. 这篇文章太好了, 以至于我实在懒得翻译了. 第一句和最后一段我重写了一下, 因为我知道一般大家只看第一段和最后一段. 

别有太强的认同感

今天我终于认识到,为什么政治和宗教最容易产生超多无用的讨论。 

作为一项规则,任何提及宗教的一个在线论坛,演变为一个宗教的论点。 为什么? 为什么会发生这种情况与宗教,而不是用JavaScript或烘烤或其他议题人们谈论的论坛? 

有什么不同宗教的是,人们并不认为他们需要有任何特定的专业知识,有意见的。 所有他们需要的是坚定信念,任何人都可以有这些。 没有线程JavaScript将增长约快一个关于宗教,因为人们认为他们必须对一些门槛的专业知识要发表评论的。 但在宗教每个人的一个专家。 

然后,我觉得:这是政治问题太多。 政治,宗教一样,是一个主题下,没有门槛的专业知识表示意见。 您所需要的是坚定的信念。 

做宗教和政治有不少共同之处,说明此相似? 一个可能的解释是,他们处理问题,没有明确的答案,所以没有回的压力,群众的意见。 因为没有人可以证明是错误的,每一个意见都同样有效,并遥感此,每个人都可以搭乘他们的。 

但是,这是不正确的。 肯定会有一些政治问题有明确的答案,比如有多少新的政府政策的成本。 但是,更精确的政治问题遭受同样的命运作为模糊的。 

我认为宗教和政治的共同点是,他们的一部分人的身份,和人民永远不会有一个富有成效的争论东西的一部分,他们的身份。根据定义,他们的党派。 

的主题进行人的身份取决于人民,而不是主题。 例如,谈一场战斗,其中包括公民中的一个或多个有关国家很可能演变成一个政治论点。 但是,今天的讨论有关的战斗发生在青铜器时代可能不会。 没有人会知道什么是对的一面。 所以它不是政治的来源的问题,但身份。 当人们说,讨论已堕落成为宗教战争,他们真正的意思是,它已经开始推动主要由人的身份。 1 ] 

因为那一点上发生这种情况取决于人,而不是主题,这是一个错误的结论,因为一个问题往往挑起宗教战争,它必须有没有回答。 举例来说,问题的相对优点的编程语言往往演变为一场宗教战争,因为许多程序员程序员确定为X或Y程序员。 这有时会导致人们得出结论的问题,必须回答,所有的语言都同样好。 显然这是错误的:什么人可以很好地作出或设计不当;为什么会这样独特不可能的编程语言? 事实上,你可以有一个富有成果的讨论的相对优点的编程语言,只要你的人谁不响应身份。 

更笼统地说,你可以有一个富有成果的讨论议题只有一个,如果它不参与任何的身份参加。 是什么让政治和宗教等雷区是他们从事如此多的人的身份。 但你可以在原则上有一个有用的交谈他们的一些人。还有其他议题似乎无害的,如相对优点福特和雪佛兰皮卡,你不能谈论安全与他人 。 

最有趣的事情这一理论,如果它的权利,是它不仅解释何种讨论,以避免,但如何有更好的想法。 如果人们不能想清楚的东西,已经成为他们的身份的一部分,那么所有其他条件都相同,最好的计划是让作为几件事到您的身份成为可能。 2 ] 

大多数人读这已经是相当宽容的, 他们会认为, 虽然自己是X, 但是会宽容 Y. 其实在此外还有改进的余地: 干脆不要想着自己是X. 你给自己越多的标签, 你越傻逼.

———-

想起来, 看过不少口水战, 大多都是因为个别自作多情的人, 自己给贴了很多标签: 中国人, 某省人, 某大学的毕业生, 某公司的员工, 某明星的粉丝… 还很自豪很爱这个标签的样子. 然后, 一旦看到对身上标签的哪怕一丝攻击, 就立即兴奋的打起口水战来. 这样的把冲动当真情的行为, 看上去很浪漫, 其实深陷自己的牢狱啊!