Mar 29, 2009 - AIG 折射的美国国家架构和各自强大指数

Comments

AIG 最近的奖金门大家都知道, 就是美国政府用纳税人的钱救了AIG, 但是AIG说, 我们要按照合同, 给高管发发奖金, 于是, 纳税人不干了, 和 AIG 较真, 一时间, 美国政府, 美国国会之间互相打架的事情就出来了.

先说人民吧. 首先, 最近美国人民失业率很高, 很多人找不到工作, 而且大众对华尔街的情绪本来就不好: 靠, 就他们丫的把我们拖下水的. 所以, 本来救市, 对于保守派来说, 就不大赞成(他们主张国家少干预经济). AIG 的同学们在这个当口, 给高管每人发了十几万, 而且是纳税人的钱, 这下纳税人火了, 他们认为, 我辛辛苦苦工作, 结果变成你们这帮造成经济危机的人的奖金, 让你们住豪宅, 买直升飞机, 这怎么行?

事情发生后, 就美国政府(白宫)最尴尬了, 奥巴马也得想想说话. 这会儿的白宫, 就属于二道贩子. 他们把纳税人的钱拿过来救市, 发给那些要倒闭的公司. 像AIG 这些公司, 特别大, 大到足以讹诈政府. 政府不救市吧, 他们一倒闭, 就是市场崩溃, 就是经济危机; 过分救市吧, 纳税人也不满意, 毕竟都是纳税人的真金白银. 白宫几个月前, 刚刚好说歹说, 让国会通过了一个救市的法案, 花了不少纳税人的钱, 现在正要说服国会通过更多的钱, AIG 出来捅漏子了. 这个白宫, 里外不是人了.

奥巴马同学心想, 你 AIG 没我政府救, 还不知道破产多少次了, 作小弟还这么鸟. 于是, 当时他就震惊了. 但是震惊也没办法, 白宫一没法双规AIG领导, 二没办法采用行政手段, 只能说话吓唬AIG. 白宫一点办法都没有的原因, 在于他们没有权利把 AIG 怎么样. 奥巴马唯一有用的职位就是三军司令, 但你总不能派国民警卫队把AIG 高管抓起来吧. 而且人家有合同在先, 你政府不许人家发, 你政府就先违法了. 于是哩, 一方面小弟不听话, 一方面又有求于纳税人这个大哥, 但是纳税人大哥现在情绪很激动, 要做了这个小弟. 政府呢, 对这个小弟又没法用家法伺候, 奥同学这个总统做得啊, 也是很郁闷.

米国有个俗话, 叫做”白宫收拾不了你, 国会来收拾你”. 果然, 国会的参议员电话被自己选区的纳税人打爆了, 一个一个的要国会把AIG的这些人收拾收拾, 想让他们切腹自杀都出来了. 奥巴马同学可不敢和国会作对, 因为以后新的法案还要国会通过呢. 所以, 对国会睁一只眼, 闭一只眼. 奥巴马同学之前就说了, 理解国会行动. 理解国会也没用, 国会才不给白宫面子呢. 所以, 虽然奥巴马的财长不大同意, 国会依然通过了一项法令: 凡是接受政府救助的企业, 如果发奖金, 丫的给你征90% 的所得税.

这下狠了, 给你发十块钱, 对不起, 纳税人继续拿回九块钱. 这个法律, 网上不少人说是违反美国宪法的. 我认真研究了一下, 不违反宪法, 因为美国宪法不溯及以往的条款, 乃是刑法相关条款. 所得税法令不在此例. 而且国会并不是判定之前的行为违法, 而是征收所得税. 美国朋友都知道, 联邦的退税, 的确要4月15日才截至的. 所以, 在此之前通过一项法令一点毛病没有.

国会通过了这个法, 自己爽了, 轮到白宫不爽了. 靠, 一点面子都不给政府嘛: 政府救市, 本来就是要让这些企业以后还回来的, 现在你这么一搞, 没人愿意待在这个企业了, 钱岂不是打了水漂. 而且最关键的, 政府和参与救市的银行企业, 都有事先定好的游戏规则, 现在国会半路杀出来, 拦腰的插入这个游戏规则. 银行想: 你政府不靠谱嘛, 你奥同学连民主党几个参议员都管不住. 这样下去, 你政府成了大股东, 说不定哪天国会议员喝了点小酒以后, 读了点马克思以后, 兴致一来, 想把我们全部充公, 那我们也就只好全部充公了. 这个不就把我们资本主义和平演变成社会主义了么. 这怎么行呢. 所以, 银行就不信任政府的救市能力了, 这个救市, 也就救不起来鸟. 其实, 不等银行和AIG不爽, 政府早就不爽了. 我这边忙着救市, 他们发奖金, 我等额扣除就是, 你国会出来一搅合, 用我们中国人的话来说: 你以为我白宫和大资本主义勾结给AIG送钱呐? 这么一搞, 大总统的面子往哪里放?

除了国会和政府掐架, 政府和银行掐架之外, 其实外部还有两个层面的掐架, 一个是合同法和政府政策的掐架. AIG 言之凿凿的说, 发奖金因为有合同, 如果你政府不许我发, 我告死你政府. 如果AIG和政府打官司, 政府又要请律师, 又要花纳税人的钱, 而且政府的确有违法嫌疑, 所以政府没这么干. 从这个意义上看, 政府也怕违法.

还有一个是公民主义和愤怒的国会之间的掐架. 按照道理说, 国会通过法令, 是人民的胜利, 人民应该高兴才对. 但是, 也有人就此就忧思起来: 你国会看哪个不爽, 你就给人家征 90% 的税. 要是以后你国会对一个群体不爽, 你就立即立个法, 这下那个群体的不倒霉么? 有一小撮美国人, 用爱国青年的话说, 脑子就是残, 就是老想歪了, 老不放心美国执政党和政府. 这些人, 怎么就不明白”国会代表最广大人民的根本利益”哩? 没办法, 人就是认死理: 不行, 你国会不能这么嚣张, 你这个不是多数人的暴政么? 所以哩, 他们这帮人, 又再网上开始攻击”代表最广大人民根本利益”的国会违宪. 这种行为, 用某位知名博客的话说, 真是闲得蛋疼啊! (其实, 历史证明, 正是一个一个的这样的蛋疼, 让现在国会和政府都不敢随意的让任何人蛋疼, 这是后话了, 具体可以读林达). 因为这帮人老吵吵嚷嚷的, 国会的有些议员, 还得详细解释为啥不违宪, 真是太不和谐了.

总的来说, 美国的机构强大指数是:

大资本主义银行(强大指数5)敢和政府(强大指数5) 挑, 而且一点都不惧, 因为手里抓着的法律最大(强大指数10)

政府没有国会牛逼, 国会(强大指数8), 可以随时不给政府面子

国会见谁灭谁, 除了不能灭纳税人.

纳税人一发火(强大指数9), 国会总统都得顺着意思来, 但是也得靠通过法律(10)的形式才能牛逼.

一大帮闲得蛋疼的反对派(强大指数9), 整天关心国会和政府有没有侵犯人权, 就是侵犯自己讨厌的人的人权也不行.

还有一个最高法院, 这次没出场, 这个最高法院, 强大指数乃是9-10之间, 以后再讲.

总的来说, 在美国, 作为三权分立的分支之一的行政分支, 身为美国三军总司令的总统及其白宫, 看上去最牛逼, 其实最不强大.

(提示: 留言之前请仔细阅读博客右边红字)

Mar 27, 2009 - 第一批合租名额已经征集完毕

Comments

截止到这篇日志写作时间, 已经征集到将近10人.

凡是留了言的, 给我发了邮件的, 或者在 Gtalk 上告诉我的, 我都记下了. 如果你给我发的邮件我没有回复, 请留言告知. 我最迟明天把空间的用户名, 密码和我自己写的使用教程发给你们.

等这一批做完了, 如果大家觉得体验蛮好的, 就再放一批. 对付资本主义, 就是要最大程度的利用空间的剩余价值.

PS: 澄清一下: 这个合租是完全免费的, 不带其他附加条件的, 具体的要求见上文. 我不是专业的网站维护人员, 不承诺高质量的服务. 另外, 请遵守美国当地法律, 不要放有版权的内容. (我有个朋友放过一次, 按照DMCA法律, 被服务商停牌了三天).

Mar 25, 2009 - 经济危机 寻人合租

Comments

我的网站服务商每月给我100G流量, 100个域名, 我自己用不掉, 找人合租.

要求:

  1. 原先网站在国内, 想移民的.

  2. 流量不会超过每月100G

  3. 自己有域名

  4. 我不对非人为原因造成的数据丢失或者连接被重置负责任

  5. 因为服务器在美国, 要遵守美国当地法律. 不许利用互联网煽动颠覆美国国家政权, 推翻美国资本主义制度,或者煽动分裂美国, 破坏美国统一. 不许恶毒攻击美国国家和地方政府领导人, 美国执政党和美国政府, 否则走人.

  6. 服务免费, 但是服务没其他人好, 所以一般只和认识的人合租. 如果要专业服务, 请访问周曙光或者数字游牧.

Mar 12, 2009 - 推荐使用 IMDICT 机器人

Comments

[本文是基于真实体验的非商业的我也不拿钱的软文]

大家还记得gtalk 上的那个聊天翻译机器人 dictman 的吧. 在沉寂了一段时间之后, 前几天作者告诉我, 新的版本上线了. 我已经用了好久了, 特别喜欢这个机器人的人性化设计, 举两个例子:

第一是这个机器人区分了快速查询和详细查询这两种不同的需求. 有时候我们要快速查一个词义的时候, 只想看到一行两行的解释, 那么, 默认的, 您只要发给这个机器人一个单词, 一个简明的释义就出来了. 当你要详细的释义的时候, 您可以使用 单词 -v 的形式. 看到这里, 我们的 UNIX geek 们肯定要跳出来了: 哈哈, 居然能这么玩, 不就是 –verbose 参数么, 原来这个机器人接受的命令行参数是单词啊 :). 说到这里, 我就想, 要是有 单词 -s 发音, 单词 -o 反义词, 单词 -e 就是英英字典等等多样化查询的参数就更加酷了. 这个美妙的设计, 是让我觉得非常惊奇也非常带有粘性的.

第二是这个机器人支持通信的上下文, 查询单词以后, 机器人会给出联想查询. 在联想查询中, 您只要直接输入联想出来的词组的序号就可以直接查询了, 比如查询单词 make 之后, 联想条目就有

【联想查询】

  1. making -v 2. -making -v 3. make -v

  2. acid making

您可以直接输入 3 得到 make 的详细解释, 或者 4 得到 acid making 这个相关词组的释义, 很酷吧. 这个可是传统的一问一答的字典做不到的噢.

快快加这个机器人为好友吧,

gtalk: imdict@imdict.net

MSN: imdict001@msn.com

机器人开发小组的博客: http://www.imdict.net/blog/

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

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 常用的正则表达式用例.