2010年5月30日星期日

A for Authentication

每当看见 MSN 上失散多年的好友发来壮阳药广告或皮条俱乐部邀请信,我就轻轻将此信归入垃圾邮件,然后叹息又一个倒霉蛋中招了。中招源于轻信 —— 把自己的用户名和密码告诉了第三方,如非官方的网页版聊天器,或 SNS 网站上寻找 MSN 好友在本网站马甲的工具。密码本是用户和服务商两者之间你知我知的事,但用户找人代办某事时把密码给了这个不相干的第三者,后果是身份被人冒用。这还不是最糟的,冠希兄现在也该明白两人的事如果让第三人知道了,全世界就都知道了。

不同的人,与之共享的秘密也不一样:商业机密不该告诉家人;家里的糗事不该带到职场;兄弟的往事打死灌醉也不能透露给他现任婆娘。网络上也一样,别说银行帐号密码不能泄露给第三方(哪怕他自称公安局),公司网络的登录帐号、个人 MSN 和 GMAIL 邮箱也不能外泄。就连网络游戏也反复告诫脑残玩家 —— 问你账户密码的人绝不是本公司客服。随着各类网络服务不断增多,需要记住的账户越来越多,脑子越来越不够用。应该有解决之道,让我把线索理一理。以下是我的学习笔记,为了今后的自己还能看懂,尽量科普省略细节。


Authentication: 识别认证(向我证明你是谁)
Authorization: 授权许可(我知道你是谁,现在决定允许你干啥)
Accounting: 审计监察(检查你究竟干了啥)

前两者很容易混淆。两周前我回顾信任的传递体系,证书这东西其实是把前两个 A (认证+授权)串起来了。现实世界里,授权的传递(Delegate)很复杂,三个月前在讨论 UAC 时我就感觉头大,所以今天干脆放弃授权部分。只谈第一个 A,识别认证,这是用户参与度最大的一步。要完成身份验证,除了不太常用的指纹、智能卡、密保卡之类的外设,最常见的就是在键盘上敲用户名密码。


Single sign-on —— 公司里常用的认证技术,比如 Kerberos 协议的 Windows 集成认证。大致原理就是所有资源和服务都信任一个中央认证系统,用户只要向这个中央认证系统证明自己的身份,别的资源和服务就无条件相信用户的身份。至于用户在各资源或服务上的权限,可以中央控制也可以下放到地方。

在一个封闭的环境里,比如一家公司,设立一个权威的中央认证机构当然没问题。但同样的模式放到开放的社会里能行得通么?几乎所有网站都有自己的帐号 验证系统。不管做啥生意客户资料都是命脉,这信息托管出去就好像被人捏住了蛋蛋,人家时不时捏你一下,随时能让你完蛋。

另 一方面用户也不希望把自己的所有帐号都关联起来,这样做就等于实名制,既不自由也没了安全。网民的安全感是建立在隐私保密的基础上的,保护隐私靠的是商业 伦理而非政府行为。个人资料越分散就越安全。试想一个机构掌握了全社会所有人的所有资料,这机构除了上帝就一定是 KGBStasi, 太可怕了。英 国政府宣布百日内废除身份证,Google 近来关于隐私保护的官司缠身,很大程度也是因为民众的这种心理。




好吧,那把选择权留给用户,他们爱在哪里认证就在哪里认证,当他们需要用此处的身份去别处登录时,也可以,只要各服务商都遵守门户开放公约。这就好像拿着护照出国一样。OpenID 标准由此而来。早在它诞生以前,微软就抢注了 passport.net 域名用于用户身份的验证,这名字真太形象了。下面是一些遵守这个公约的网站:

Site URL Format Comments
Google https://www.google.com/accounts/o8/id Google does not require the username to be passed in the openID string.
Yahoo! openid.yahoo.com Yahoo! began allowing their usernames to be used as openIDs beginning January 31, 2008. Yahoo! does not require the username be passed in the openID string.
Microsoft accountservices.passport.net/ Windows Live ID
Facebook facebook.com/username/ Facebook
LiveJournal username.livejournal.com LiveJournal supports OpenID as both a provider and a relying party.
MySpace myspace.com/username
WordPress username.wordpress.com
Blogger username.blogger.com
Verisign username.pip.verisignlabs.com Verisign offers a secure OpenID service, with two-factor authentication, which they call "Personal Identity Provider"
Typepad blogname.typepad.com
MyOpenID username.myopenid.com
Google Profile google.com/profiles/username
Orange openid.orange.fr/username or just orange.fr/ Offers OpenIDs to their 40 million broadband subscribers, and accepts OpenID to allow non subscriber users to access a subset of services.
Launchpad launchpad.net/~username See https://help.launchpad.net/YourAccount/OpenID for details.

五年以来,情况似乎没啥变化。至少我登录 MSN 和 Google 都用它们各自的帐号。就像一个人有多重国籍,到哪个国家就使用当地护照,避免受歧视。毕竟本国公民的权限大一点,有些服务可能不对外来人开放。一个国家对非本国颁发的护照,信任度方面也会打折扣。还有 OpenID 容易受钓鱼攻击也是它不受待见的原因之一。总之,英特纳雄耐尔就一定要实现。哪一天?没准。实现了一切会更好么?难说。也许没人在乎。


听说 Microsoft, Google, Yahoo 和 MySpace 都开始支持一个叫 XAuth 的服务,就去学习了一下。试用完这个 Demo,看了看 Google 的说明Meebo 的科普,才明白它和我理解的 Authentication 根本不沾边。

这东西其实是方便网页的设计者从一个统一的地方(XAuth.org)获取当前用户浏览器同时登陆的其它社交网站的列表。近期因隐私保护官司缠身的 Google 还特意澄清:我们给 XAuth 的只是当前浏览器是否有帐号登录我们的服务,至于是哪个帐号(假设你有多个 Google 帐号)我们是不会告诉它的。也就是说,没有真正的传递 Authentication 信息。这纯粹是锦上添花脱裤子放屁:去访问某个网页,上面可能会有个 Google 的图标,如果你这时正好登录了 Google 这图标就亮着,如果你没有登录它就暗着或者隐藏 —— 注意这只是你自己状态,XAuth 无法提供你好友是否在线的信息因为它只认浏览器不认帐号。鸡肋呀鸡肋,想出这个功能的人很蛋疼吧。


让服务员帮忙泊车却不想他拿了车钥匙就跑了,让人帮忙修理电脑结果硬盘上的照片上网了,把邮箱密码告诉了别人结果该邮箱就开始以你的名义发壮阳药广告了。这些操作中 key 同时承担了身份验证和授权的责任。其实让人帮忙只要授权即可,本来是不必把用来识别身份的 key 交出去的。

年初时我学 Python ,在 GAE 上写了个 Twitter 的应用。用 Basic Authentication,即用户把密码发给我这个应用程序,然后这个应用再把密码转发给 Twitter 完成认证。我的程序自己用,犯不着自己偷自己密码,可别人写的应用就不好说了。六月底 Twitter 就不再支持这种认证方式了,我非常赞成。这年头信息安全越来越重要,账户信息外泄一方面用户身败名裂,另一方面服务商也很难追查 —— 用户自己干的还是第三方干的怎么说得清楚?

OAuth 解决问题的方法就是把认证和授权分开,认证仅由两方完成,牵扯第三方时使用临时令牌。这样做减小了身份被冒用和过度授权的风险。以 Twitter 为例,用户是甲方,Twitter 是乙方,第三方程序是丙方,大致过程如下:


1、第三方写好自己的程序以后,去 Twitter 处注册一下,得到 CONSUMER_KEY 和 CONSUMER_SECRET。(相当于证明自己身份的用户名密码)

2、当用户通过第三方访问 Twitter,第三方先去 Twitter 处用自己的 CONSUMER_KEY 和 CONSUMER_SECRET 登录后得到一个 Request Token。(这是一块临时令牌,可以共享给用户,拿到临时令牌的用户可以以此向 Twitter 证明自己是从那个第三方来的,但却不必知道第三方的密码。)

3、用户拿着这块临时令牌亲自访问 Twitter 输入用户名密码。这样 Twitter 不但确认了用户的身份,而且还知道他是哪个第三方应用介绍来的,它就问用户是否授权这个第三方应用访问他的账户。

4、用户授权后,Twitter 把这个用户返还给第三方应用,交还第一块令牌和一个 oauth_verifer 作为收条。

5、第三方将第一块令牌、收条加上自己的 CONSUMER_KEY 和 CONSUMER_SECRET 再次去 Twitter 认证,得到 Access Token,这是第二块临时令牌。

6、之后第三方应用使用这张 Access Token 临时令牌访问 Twitter 就可以代替用户首发消息了。

至此用户和第三方都在 Twitter 处证明了自己的身份,而彼此又不共享密码。以用户向第三方“授权”的方式取代了从前的“冒名顶替”,即便第三方干出了什么出格的事,Twitter 那边也有案可查。完美地实现了 AAA ,虽有些繁琐,但目前我也想不到更简化的流程。

一枝红杏出墙来

注意 OAuth 第 3 步,用户仍需亲自访问 Twitter 完成验证,对于天朝用户,我们和 Twitter 之间隔着伟大的墙。当初我写 GAE 的 Twitter 应用就是为了给手机凿一条穿墙通道。废除 Basic Authentication 以后如果我的程序严格走完 OAuth 流程,用户每登录一次就要翻墙一次。怎么解决这个问题?用 gtap 和 Malloc 的改版,十分钟搞定。原理就是在上述第 5 步以后,把 Access Token 保存在第三方程序的数据库中,并给用户一个 API 密码。以后每次用户用这个 API 密码调出这第二张令牌,第三方程序就用它访问 Twitter 不必重复 1~5 步了。

Twitter 客户端,手机上我用 ÜberTwitter,听名字像是德国造( Über = Super );Chrome 浏览器里用 Chrowety 巴西造。两者都支持自定义 API 地址,正好配合 Malloc 版本的 gtap 使用。BTW,世界杯快开始了,这俩传统强队都有主力缺席,但我还是支持他们。只可惜我叶公好龙,上届世界杯没一场球看全了的,本届估计也一样。折腾了这么半天 Twitter 其实我只是个潜水员,除非遇到找不着厕所或忘带草纸这类悲剧,Twitter 上我只收不发,就当它是第二个 Google Reader 。这东西好处就是实时,互联网比图书馆的优势就在这里:当年的 911 之夜我第一时间在 ICQ 上听陌生人说的,去年央视大楼着火和新疆维汉冲突我在饭否上看的文字加照片直播。说不定哪天敏感词寿终正寝了,极有可能我最先会在 Twitter 上看到,好赶在鞭炮和啤酒被人们抢购一空之前...

既然说到了翻墙,Chrome 上另一个好用的梯子是 Switchy,装了它以后我用 Firefox 的次数越来越少了。手机上 Opera Mini 要用可以改服务器的那个版本,走德国服务器,因为默认的服务器会驳回你的避难申请把你直接遣返回国,最终你还是落在敏感词的手里。万一哪天德国也和天朝签订难民遣返协议了,就用 GAE 或别的什么境外网站自己动手搭个 Opera Mini 代理,代码简单到几句话,原理就是三级跳。

好啦,就到这里,休息,休息一会儿。

2010年5月27日星期四

【共享】袁腾飞课堂录音

eMule -> Tools -> Paste eD2K Links...

ed2k://|file|中国古代史.01.先秦(上).袁腾飞.mp3|28100480|EE34D2BE562C53FC73119FA337DEFE89|h=6CLQ4KD6IBG2ULEOFBQAIKKADNTICK6K|/
ed2k://|file|中国古代史.02.先秦(下)、秦汉(上).袁腾飞.mp3|26561264|9DE7940F68124A49780F8ABB28EB3D84|h=SM6YZZV3WUUG7YE4C55PSMSJI2XIK676|/
ed2k://|file|中国古代史.03.秦汉(下)、魏晋南北朝(上).袁腾飞.mp3|27750128|85AB893D74ADDEF76D6A2736DBA9909F|h=2P2PYN4LDTC2TT6SCLIF5ZFJUQBYY6RM|/
ed2k://|file|中国古代史.04.魏晋南北朝(下).袁腾飞.mp3|17747312|8D5ADC70B08C697C42AB0A8A1FB1CEBD|h=PIHBPACYLJUAOORBLTEJT6IKNP4KOD3L|/
ed2k://|file|中国古代史.05.隋唐(一).袁腾飞.mp3|19763600|90BCC391A794210BBF887B2E5716F355|h=MQ65HMS7OZGZUT56K5YTWEOHMMAEMGHH|/
ed2k://|file|中国古代史.06.隋唐(二).袁腾飞.mp3|27050000|8790EA1AC4ECD820B3D8416399080622|h=T3UNRHHILWCWBOX3LJZF7UIHDGW2TR66|/
ed2k://|file|中国古代史.07.隋唐(三).袁腾飞.mp3|23556128|1B1C04C2DDEB3D2389E2B776C9D46265|h=KKWQJWP7EIKSDTF6Z6LYVLTT7GR3VX7R|/
ed2k://|file|中国古代史.08.隋唐(四).袁腾飞.mp3|14215136|F735F1193BD3449192E5431E56A3E599|h=2DJ37WQHJD6D3QTWRF7ZHQW25SJ4CVSW|/
ed2k://|file|中国古代史.09.宋元(一).袁腾飞.mp3|27954176|74F7540ADFB00F29FDE59327A86D7F72|h=HGJAIN76UF3C7HO5QMXIEU5NCFJGJDIO|/
ed2k://|file|中国古代史.10.宋元(二).袁腾飞.mp3|27062384|A80C1E0892EC1B5E0B1B137C99145A25|h=BOWUQKVMIPHKYVY7QT736D6UT7XLO5XV|/
ed2k://|file|中国古代史.11.宋元(三).袁腾飞.mp3|3573536|FB153598F0F59F15A2ED3C68638725EA|h=NGTER7V37OZK7UH3VI4B4K77ZZVK6ARM|/
ed2k://|file|中国古代史.12.明清(一).袁腾飞.mp3|23585936|61375B76D532DD45F4E5B7B0AFD7518B|h=Q47ASOS5QPQOPTY3M7YXKWRV63RVAIVB|/
ed2k://|file|中国古代史.13.明清(二).袁腾飞.mp3|26026736|94CF71C2F2DCD678576CFAD30750C1E7|h=ZFYYTXTJB5HLNQYBVWNHXRUHBIJAZGRR|/
ed2k://|file|中国古代史.14.明清(三).袁腾飞.mp3|26020112|CE62FACF462876B16CB9FB4388A1AD4B|h=IQ5JEUR6ERVFGPRCLFHEVQK2M6C52I4Z|/
ed2k://|file|中国古代史.15.明清(四).袁腾飞.mp3|28003424|CA40ABED5F042EA39A07876BC4BF663A|h=JVNLE326ROH4EZYMSS6ITPH6TP3OBDYO|/
ed2k://|file|中国古代史.16.明清(五).袁腾飞.mp3|24534464|ED75244A570983E8C0CCFABDD48A23FC|h=2RYMRENJ3L77IWPXMMYBUBWYU7GA45QV|/
ed2k://|file|中国古代史.17.明清(六).袁腾飞.mp3|25931120|DC238BFC40FD8157532D27BE2A429900|h=42OFWK7A2FSWZ25KJWUP33EL5LAWEUUJ|/
ed2k://|file|近现代史.01.中国开始沦为半殖民地半封建社会(上).袁腾飞.mp3|26185424|4C7765072A881B6620D17AFA1460E822|h=XJSNG2APB6XIIDUQN2WPVV33WTODI7IX|/
ed2k://|file|近现代史.02.中国开始沦为半殖民地半封建社会(下).中国近代化的开端和资本主义的产生、发展(上).袁腾飞.mp3|27259376|EDC4CE317F458C1433BE15924AFAC917|h=HDONSIRPW5EXV4FE2UPBCCEYXVH25JIA|/
ed2k://|file|近现代史.03.中国近代化的开端和资本主义的产生、发展(下).袁腾飞.mp3|27963536|BD169017694579DF0ADA442376AC149E|h=7JRY2DIMU5CLUBLZR3PO4HQPHIHEXULK|/
ed2k://|file|近现代史.04.资产阶级民主革命、维护民主共和的斗争.袁腾飞.mp3|27879872|FF1894CAF6602E1FADC0F3294CDB58E2|h=XMGTS64TR2A4BPQCCTUZTLLNCPALNMUL|/
ed2k://|file|近现代史.05.北洋军阀的统治、新文化运动.袁腾飞.mp3|24243152|79718FEFA04633940EBDECE8D9079CCA|h=MRI56CKD3NBO53GYWZSSDQXU7OOFIHDA|/
ed2k://|file|近现代史.06.国民大革命、国共的十年对峙(上).袁腾飞.mp3|27855104|524CB6960F3F925396D694EEC22835CE|h=3CH5UKEQUITLW432EXFBV7EBELKCWS37|/
ed2k://|file|近现代史.07.国共的十年对峙(下).袁腾飞.mp3|24494720|5E3484ADBB14A1D9BA03348ECB302EB8|h=NIP7EFOAY4XGA3WDTPSJF7KESSKCZEZP|/
ed2k://|file|近现代史.08.抗日战争.袁腾飞.mp3|22371584|45A58E5025B39BFC1C7506FF3B9C01C8|h=KRGGLBED7MLCRB2U7WE2HOBDAJIWWS56|/
ed2k://|file|近现代史.09.人民解放战争、过渡时期.袁腾飞.mp3|25328480|3E121F08D85742BEBF2F4B540D0D3A11|h=5DTY4M47NRNMTKTDBIALR6OPYKTYEDKF|/
ed2k://|file|近现代史.10.社会主义建设道路的探索时期(上).袁腾飞.mp3|24870992|9C91ABC3AF3726155D5DE770178E4C07|h=FF2WZ5XHJCJVTLYCHOYIHT4JCL6BWGRD|/
ed2k://|file|近现代史.11.社会主义建设道路的探索时期(下).袁腾飞.mp3|19925456|33BBE27F78A084F0530664412577C356|h=YOOHKDUO5OXQYNGDSD2OYHEYI6GI4LCU|/
ed2k://|file|近现代史.12.社会主义现代化建设新局面的形成.袁腾飞.mp3|22389008|E7F0AC9D5D54DDD187FA7017DAEE01A6|h=E27NRAT7DLWEC4SHF5BYVIDRT2KU2OS2|/
ed2k://|file|近现代史.13.各族人民共同发展、中国的外交和国防.袁腾飞.mp3|24231200|D4E7400C27699A9963A33F7FCC7DBBF3|h=H7X3YGODDOYOHJTFLZPOXCQ3POFB5VMG|/
ed2k://|file|近现代史.14.欧洲的资本主义兴起(上).袁腾飞.mp3|27099536|72185B3AAF8489A8438FFDCA8E5B2A9B|h=4QVRKI5UUMCR6CHS6YNV6PZTUXVS3J3J|/
ed2k://|file|近现代史.15.欧洲的资本主义兴起(下)、资产阶级革命时代的东西方(上).袁腾飞.mp3|27119984|54DB883B0B794A953956F79AF72BBFCB|h=IWXFJINTXHVGNB7BEDWQAQZFY65GENCJ|/
ed2k://|file|近现代史.16.资产阶级革命时代的东西方(下).袁腾飞.mp3|25379744|15A90911763F2EC260C6E81C3C0CF778|h=WOIDCWAPWSV4E74IMNFTTASJXEOMZMU7|/
ed2k://|file|近现代史.17.启蒙运动、工业化初期.袁腾飞.mp3|26561840|66524FAA9D75419C2D5F20C76A1F64DB|h=OXEV6X3PX5HR4T2AJMVFTACKY52YDBJB|/
ed2k://|file|近现代史.18.自由资本主义(上).袁腾飞.mp3|23278496|984511A748D2CE0955615FD9F1860CF9|h=YPGQBLIMTPVIEHKKF7LRQT2GXB3VNQFO|/
ed2k://|file|近现代史.19.自由资本主义(中).袁腾飞.mp3|26888144|95546B4486B46B2D14B1881B4D1BA40D|h=VRMOQRYFUTN5BQSJCZHHZ5ZQYTKGOHUZ|/
ed2k://|file|近现代史.20.自由资本主义(下)、垄断资本主义(上).袁腾飞.mp3|26089088|D5CA766AF98F9D91B080867924F0D65A|h=SLRL522QSKMNTP6IKZOB5LYYOBNEI7F2|/
ed2k://|file|近现代史.21.垄断资本主义(下).袁腾飞.mp3|25641392|29EA8AB23F86FFA8847FA5FECF63308C|h=BMY3THHL3FN2TJBYVOE7PMWAUAU7UFI3|/
ed2k://|file|近现代史.22.两次大战间的世界(上).袁腾飞.mp3|27149648|F6E59CF0F070CA9D060AFEACCEA08478|h=42TJUC77FUQBCLRPUTRAHRRKK66WQ5BT|/
ed2k://|file|近现代史.23.两次大战间的世界(下).袁腾飞.mp3|26804048|58D80D4D5591EE3FB08FCA12831C40F0|h=MM3KW6JSW546WIXQCLXV5YXN6AVSGCA5|/
ed2k://|file|近现代史.24.第二次世界大战、两极格局(上).袁腾飞.mp3|27535568|F7276F322CC5479662FEE8853C1BFC54|h=SXV4JGHHAMKQ5TQS6UGKCDHT6Q3ZFXYZ|/
ed2k://|file|近现代史.25.两极格局(下).袁腾飞.mp3|27610736|FA183E1120E84C7DFEAE524B8D2D68AC|h=U4J4TVWVQWEFT346TSDL3HYBLRADZM4E|/
ed2k://|file|高考考前讲座A.世界格局多极化.袁腾飞.mp3|14538704|11AF9DE4B1095AFEBCF060EFF7E2A609|h=CODHG4XJCHLQKBKJKVS5YGBDFFRN5JLM|/
ed2k://|file|高考考前讲座A.世界史串讲复习.袁腾飞.mp3|10770512|7AFC0233D702BD5531A1DF16768D71EE|h=WMDKK2TRNG6PRBESOMMMCS5OIMCYRODW|/
ed2k://|file|高考考前讲座A.综合练习1.袁腾飞.mp3|13017344|53E536A4B1F3956B0DB590B87FBE1F29|h=MFW6B7YGNPPKFJCDUEQ3HXFIJBEAAHCU|/
ed2k://|file|高考考前讲座A.综合练习2.袁腾飞.mp3|9831344|39C382E5E59C8BAAB87301EDEEC640BB|h=O5ER6ZVYCB5SPEPMORFP2EWBTWSS2SRL|/
ed2k://|file|高考考前讲座A.综合练习3.袁腾飞.mp3|12512624|AEE9FF2201872C602A41890E716A8F2C|h=7CF54CO4UQEQO2ZHVFBOVXE6H2UTS5OM|/
ed2k://|file|高考考前讲座A.综合练习4.袁腾飞.mp3|12815600|15E095BD9182C168F6153C02F0F7C5F3|h=JTRRCKDANJ32QCKE2PNBSDHGB4BFHQ2B|/
ed2k://|file|高考考前讲座A.综合练习5.袁腾飞.mp3|13051184|32B0661D9178BC20E6B864D87B89F83C|h=322NNO3RWKXIGTB6Z33SDQS6HRVJK7EG|/
ed2k://|file|高考考前讲座A.综合练习6.袁腾飞.mp3|12177824|838BE25A8038E6EEAE5606D3C585A5AE|h=ST3I5AIAL7BXMPJDQFN6OEMQ2TTOKUJD|/
ed2k://|file|高考考前讲座B.袁腾飞.mp3|27179312|61EA8C4DE8D7187A1494441698DF0CA6|h=JRSEBXP2BLBVQJNN7OCZHEFQLFRNJCAS|/
ed2k://|file|高考考前讲座C.解题思路和复习建议.袁腾飞.mp3|34650320|6C18F3B41D911815270C90095520F7D7|h=T6FFSCRSZTAXXVSQXDKDGZHWN66IQESZ|/
ed2k://|file|高考考前讲座D.模拟训练1.袁腾飞.mp3|12109136|45135CFB95431BFEF348C4CC2BD5C683|h=XI2A6I4EM5ZF5P3ANOLVBADPCHGSJV3R|/
ed2k://|file|高考考前讲座D.模拟训练2.袁腾飞.mp3|9435344|A740517CDC94A00F3699EB266CEDBD5D|h=K7A4W3ZDDEI5HMAXCB5PCXYVPPZV4EJ4|/
ed2k://|file|高考考前讲座D.模拟训练3.袁腾飞.mp3|10709456|057FAA81AA5AFB6EAAED44D628D3D03A|h=LN57SGSJUWVYOYS6LOVZYIMSPACKBPFM|/
ed2k://|file|高考考前讲座D.模拟训练4.袁腾飞.mp3|11386400|2AF4CC2F75E2D073E9DB456E61A4990A|h=62EYXHDWYMYIFSNQSUUMTHICA35F3FCR|/
ed2k://|file|高考考前讲座D.模拟训练5.袁腾飞.mp3|10705856|D4D2C38928BE52DC470D7EB6B2CE2FDB|h=NRYPYNQGVZ6XLEIJ2PVKA7XX6EQDY57W|/
ed2k://|file|高考考前讲座D.模拟训练6.袁腾飞.mp3|10027904|FAC35DC22CD382795A0AFD7750BE9032|h=LHVPMCLHVJUH2GLDEQ6MK7QSJDCEDLYJ|/
ed2k://|file|高考考前讲座D.模拟训练7.袁腾飞.mp3|12407648|82CEA1F76757370B330BB690C3EDB8C8|h=22ZFZ3VYTDTBQ5NT36W645URFHW6XYT7|/
ed2k://|file|高考考前讲座D.模拟训练8.袁腾飞.mp3|11133104|A3FE1F232600872A40089DC0BC10E4B6|h=IDKWMQ2FQREXPKA2LRCTTXY775UGW3OO|/
ed2k://|file|高考考前讲座E.高考热点.袁腾飞.mp3|33700208|CD1921DF1BD68926C1E84E780CACE152|h=S62ZJAVOGZX7MDKKAMQCY3YENC3TKM2A|/
ed2k://|file|改革-民主-战争-人物.01.明治维新(上).袁腾飞.mp3|27273920|19D6AE43F65D9C533EB38DE597C8625E|h=DVYCAXIHC7WJTXDEY2Z7Z5CUPTRVZ5NR|/
ed2k://|file|改革-民主-战争-人物.02.明治维新(下).袁腾飞.mp3|17962448|401753398E6783A181ACD203067C41F7|h=MQYKQP4IHE7IK4BG6SJRRB42MO6IIFUU|/
ed2k://|file|改革-民主-战争-人物.03.戊戌变法(上).袁腾飞.mp3|8546432|9256AEA5FBA835F4372F66CF5EFBDF95|h=3PXTOQNZVNPXJREPHMUPJHOKBAAYC4YU|/
ed2k://|file|改革-民主-战争-人物.04.戊戌变法(下).袁腾飞.mp3|20725088|F451A619FE70335D68E43E8881578529|h=V3QQXCCSIWTFIKUF34BO6KZPRDBVJPTD|/
ed2k://|file|改革-民主-战争-人物.05.俄国1861年改革.袁腾飞.mp3|6930032|CF34D5D99F00110770084C5904B17C40|h=PICM4CNBUBJAR3YUMJIHMIFHX4G4KPE6|/
ed2k://|file|改革-民主-战争-人物.06.中国古代的改革.袁腾飞.mp3|25923200|587F3C9AC3CC6BBBF3C1C361EAA259B7|h=6RVB7TQCTSMOXK76UQB3GOS2PBRCUJC6|/
ed2k://|file|改革-民主-战争-人物.07.《历史上重大改革回眸》专项训练.袁腾飞.mp3|17464064|4464BE2175583AC1B3D764B30E444DD9|h=VJFAYNFCFHMZI4PNQSLSL4GO3B756UWZ|/
ed2k://|file|改革-民主-战争-人物.08.英、美民主政治的建立.袁腾飞.mp3|27737024|6103AB0BC6EE1E18AEF3504E52A915F2|h=KRJ67ACI7BX5WJ72Q3PX3AHVANAWKOBT|/
ed2k://|file|改革-民主-战争-人物.09.法国大革命.袁腾飞.mp3|27625856|F329201A7FF7CB676677D01B32889786|h=MAL24SNBDR6C5BGCT27OQ2BY6TASBMXE|/
ed2k://|file|改革-民主-战争-人物.10.近代中国的民主进程.袁腾飞.mp3|18629888|FE4775404FF24A1CA494FF032F208160|h=HUCII3ESL2YJV4TV3ZDX6W23V3Z3QBNX|/
ed2k://|file|改革-民主-战争-人物.11.中国古代的杰出帝王(一).袁腾飞.mp3|13242128|B5C651B8C604AAC2A35D329617D8741A|h=VB6NB3SMDHPEZMLAJAURM3UL2T27OGLI|/
ed2k://|file|改革-民主-战争-人物.12.中国古代的杰出帝王(二).袁腾飞.mp3|13734752|2F9A00AB03CB0C7BAD12A5558D6695C4|h=ZZFUN4EQ3ZHIPDQBI53CRG2HGPF5ZFRU|/
ed2k://|file|改革-民主-战争-人物.13.中国古代的杰出帝王(三).袁腾飞.mp3|12804368|C69BB90C01DF7461283C14624453B9C2|h=NSNKNHADSGJHEEPUEYDIMDQSYMMG344E|/
ed2k://|file|改革-民主-战争-人物.14.中国古代的杰出帝王(四).袁腾飞.mp3|14366912|7CB608ED4D579C736F234AF54F5E50D7|h=QMPICHQS6GKGXQ5TSLHBR4XSD5TQRXHG|/
ed2k://|file|改革-民主-战争-人物.15.西方资产阶级革命领袖.袁腾飞.mp3|10698512|A15102572C166D72A04934A145CCA957|h=HQWDW6BHA5F5Q3F6DFHLOCJWGS5Z6NIV|/
ed2k://|file|改革-民主-战争-人物.16.综合练习.袁腾飞.mp3|10036976|8ABE24E702BCE53091DE96EB035EAD49|h=JS6W4AFFBAG5ZVP2S3OPLNWRRML3I7JH|/
ed2k://|file|改革-民主-战争-人物.17.第一次世界大战(上).袁腾飞.mp3|13865072|2613C846144847A925DA6AF63E622E0C|h=KGOGTETUJTA2XVJTXMNDDVNS2AULHUFS|/
ed2k://|file|改革-民主-战争-人物.18.第一次世界大战(下).袁腾飞.mp3|13548272|80335DFC2FB27F1058EE4D698F1FDF50|h=6KYPQANJSCUF72XYBJC655ZHSF5442V2|/
ed2k://|file|改革-民主-战争-人物.19.第二次世界大战(一).袁腾飞.mp3|27047796|998A126EC770D0537471DAE08CAEE88F|h=AJX7BIE22FKGB4KRJ3KVBURSCCMRIF4K|/
ed2k://|file|改革-民主-战争-人物.20.第二次世界大战(二).袁腾飞.mp3|13657136|C88F0219E837C8BAAF43FB121591F3BF|h=VBEV7U6TJKN5YCIW7DL52VNV2NCSZG5D|/
ed2k://|file|改革-民主-战争-人物.21.第二次世界大战(三).袁腾飞.mp3|13570016|DBBAA1B430FEF640372E82441B1FE2D8|h=ARDOBIZCE2TKBIFXRZDYBVQRRH66VLLP|/
ed2k://|file|改革-民主-战争-人物.22.第二次世界大战(四).袁腾飞.mp3|14113904|150C628726BB4BC77B0BFCF38A03240A|h=VN4H6PZGTEDK3XW67U4OI6KJ3L5EEA53|/
ed2k://|file|改革-民主-战争-人物.23.第二次世界大战(五).袁腾飞.mp3|13393904|81BBAABE6A6536A2A011A50EC2533F00|h=A3MB7OHK4BVAFUHKNF76G3GHXQJCXCW3|/
ed2k://|file|改革-民主-战争-人物.24.第二次世界大战(六).袁腾飞.mp3|12931808|2ED4FAD94CDE7BA7769D763A26959D51|h=LZ2K6WGRB25XEK7JXIOGEVYYFHYTPZRZ|/
ed2k://|file|政治史.01.中国古代的政治制度(上).袁腾飞.mp3|27054752|10DDDBF3CA54F494FAB0A65813701163|h=IF77KS3GSJ437KFHUCYKDR4RBOBRJY7E|/
ed2k://|file|政治史.02.中国古代的政治制度(下)、西方近代民主政治(一).袁腾飞.mp3|26655728|D18C5A90CB831714EACBA97B5F9EA5B9|h=NXIAVSAZASHXJKITLNFESSLSUT6EHQ7T|/
ed2k://|file|政治史.03.西方近代民主政治(二).袁腾飞.mp3|25874816|AB85745A35B1238FE8C31FE4FDCBA095|h=KULFMBGJLMWKM7W3H3JAOXZNW4IBK5VM|/
ed2k://|file|政治史.04.近代中国反侵略、求民主的潮流(一).袁腾飞.mp3|26365280|C31C3A620409536DD5512FFA3EB9308F|h=UHQJWQSVBDNWPPM3OKKINDCNKFIFXAUO|/
ed2k://|file|政治史.05.近代中国反侵略、求民主的潮流(二).袁腾飞.mp3|26113568|83C59BF2C1F1A70361FBF4E740213234|h=AMIAOV6JC6OK5ICKA6RVX5NDZHKYNA2U|/
ed2k://|file|政治史.06.近代中国反侵略、求民主的潮流(三).袁腾飞.mp3|25229264|1DC2C3E7800D336D8ACA79A84EEBEF38|h=QLLQIWNOTVTXU2YQL4OQFWTE555L2775|/
ed2k://|file|政治史.07.近代中国反侵略、求民主的潮流(四).袁腾飞.mp3|25212560|FC938842A341592C059D4877B065853A|h=HHTOZROETXUHKOJKKMC43ATLD5AGHIMN|/
ed2k://|file|当代政治格局.01.现代中国外交1.袁腾飞.mp3|13791776|31205FD107142DB817DA9C0511B6CFB5|h=IDGTJJKEZAQSTJD2WMIUYDPYPDHMGIEI|/
ed2k://|file|当代政治格局.02.现代中国外交2.袁腾飞.mp3|13567712|E152BFD16EE6B7B8CB1C90044A9076EC|h=QN76A53J5YE3EJ37AXDGF6FS2PD332YS|/
ed2k://|file|当代政治格局.03.世界格局多极化1.袁腾飞.mp3|14807840|27230E1600E783FF81638F21F968938D|h=556QPBQOIG7OP27D5OMJLBYS3K73YPDH|/
ed2k://|file|当代政治格局.04.世界格局多极化2.袁腾飞.mp3|13223264|9129554CE0AD63AB3927ED00A1431B69|h=3ZNQ5KJNINUTU2UXOMMWIY43CV5HGCHX|/

96 个 mp3,1.82GB,时长约 135 小时(五天半)。够我跑步、洗澡、坐车、散步、逛街、玩游戏时听一阵了。从教英语的罗胖子到讲历史的袁腾飞,他们声音体现了这个社会的缺失。我们的主流教育机构和宣传媒体,说人话的少,把人话说得幽默的更少。

2010年5月25日星期二

大风把井从墙里吹到墙外,怎么回事呢?

相识几乎半辈子的故少今天问我为啥把不老歌开在墙外,我说三年半前我开始写的时候它还在墙内,是墙一直在变而不是 Google Blogger:

http://www.google.com/prc/report.html

想起丁肇中秒杀 CCTV 的经典片段:









视频在这里。以上截屏从 26:52 开始。

2010年5月23日星期日

兜风


周五喝酒蹦迪到次日凌晨,同上次失去记忆不同,这次我自始至终保持清醒,甚至可以用单手五指把二进制从 0 数到 31。不是酒水太稀,不是酒吧的音乐,也不是同玩的朋友们,只是我自己不在状态。醉不成欢惨将别的况味...

周六的雨淅淅沥沥,跑步只得又停一天。上午的时候去 GCJ 玩了一把票,也不在状态,三题只做对一题。

周日从午夜十二点开始,又是两个半小时的 GCJ 三题做对两道,名次勉强入千,下一场下午五点开哨。中午时老爬来电话,约我同去海边骑车拉练。是宅在家里作题,还是去海边兜风?还用想么?善你个哉的 GCJ ,明年再见。我换好海绵内裤,带上指南针就出了门。

之所以这么兴奋,一来是骑车拉练这事我们已经停了有一年多了,二来是因为在这个沿海城市能看到海还真是新鲜事,三来是老天居然放晴了。打气整修花了不少时间,车况良好,码表两年没校准居然只慢了九分钟。今天主要是踩盘子,定路线,初来乍到不熟路。到海边的大路上开满了集装箱卡车,至少有半个多小时的时间,我们全神贯注地穿行于移动的箱子与箱子之间,就像在玩八位机上的某个弱智游戏,还很认真因为不得不认真。

终于见到了海,灰蒙蒙的,漂满了进出港的货船,一点也不辽阔震撼。这灰蒙蒙的感觉,就像去年在杭州湾跨海大桥上看到的,相见不如怀念。沿堤坝骑了一段,然后回程。时速最高不过 35km/h,平均大约 20km/h 。迎着夕阳,听风呼呼响,踩着轮子出着汗,心情舒畅。八位机上躲箱子游戏的感觉消失了。

本周的早些时候,我把《Prototype》通关。那是一个生化超人在城市的建筑街道间,闪转腾挪攀爬跳跃自由飞翔。即便不去毁灭什么,感觉也很爽。脑子里不知从哪儿蹦出“跑酷”这个词,继而想起法国,继而想起 Ubisoft 和我钟爱的《波斯王子》系列,还有硬盘上另一个刚开始玩的跑酷类游戏《刺客信条2》。距离前作通关仅三个月。这次的故事发生在文艺复兴时的佛罗伦萨。

莱昂纳多·达芬奇在本作中友情客串密码破译专家和凶器制造大师,我为他的堕落深表遗憾。大概是因为那部《达芬奇密码》首周票房突破2亿,人们印象里就把他归为密码学专家。此前因直升机的广泛使用和他最初关于垂直螺旋桨的设想,人们把他归为工程师设计师。再之前,因为他的画动辄上亿身家,人们很自然地认为他是个画家。现代社会对人的认同是功利主义的,换句话说,就是看你干什么挣钱多你就是干什么的。于是这个五百年前的古人,不管他自己乐不乐意,就这样在人们的心目中一次又一次地转型。

我猜他大概不会认同自己是密码学的算法专家。虽然在游戏中他熟练地运用了“置换法”和“移位法”破解密码,但他会干这个不代表他乐意干这个,他能干的其它事都比这个有趣得多。就像我在电脑解题和骑车兜风间毫不犹豫的选择后者一样,尽管在别人眼中我就是个折腾电脑的。

好吧,折中一下,我在电脑里兜风,来到达芬奇的意大利。那里人人操着一口浓重的口音说英语,就像这样:



太有爱了。

2010年5月22日星期六

【转贴】作为人生选项的跳楼


活着是件很麻烦的事。如果你的人生观没有被某种宗教设定,就像我一样,你或许会把快乐当成人生的目标,就像我一样。于是你时常比照以上列表,确认自己当前的生存状态。第三条常令人头疼,该期待点什么呢?引用头儿们常挂在嘴边的目标制定 SMART 标准,那个 A(Achievable) 很关键。梦想太美了,实现不了,久而久之也就没了梦想,于是今天就和昨天一样,明天就和今天一样,跳楼也不过是一个人生选项

2010年5月19日星期三

西班牙的火与冰


一个多月的锻炼,每天四千米稳定在20分钟以内,隔三差五跑个六千米也不超过31分钟。如果能再快一点可以考虑八千米40分钟。这事不能急,慢慢来,目前膝盖还没问题。

跑步的时候我听静雅思听的《西班牙的火与冰》,系列一共 43 集,很过瘾,作者还是林达。

这是一个曾经辉煌的民族最近一个世纪的历史,以上世纪三十年代的内战为中心。在这历史舞台上走出了建筑师高迪,画家毕加索,军人弗朗哥,体制内的变革者苏亚雷兹,开明的国王胡安·卡洛斯,作家海明威和奥威尔。呵呵,最后两个是外国人,但他们都参加国际纵队投身了那场西班牙的内战。一同加入国际纵队的人还有伟大的国际主义战士白求恩,电影《卡萨布兰卡》里酷毙了的酒店老板 Rick (当然这个虚构人物文中没有提及)等等等等。那是一个理想主义者为了理想头破血流的年代。



听完西班牙的故事,我把奥威尔的《动物庄园》看了一遍,第一次看,此前只读过《1984》。这两本书前者出版于1945年,后者1949年,却几乎精确地预言了我们这块神奇的土地上后来发生的很多事:不断地内斗、肃反、抹黑与标榜,不断地篡改历史、修正纲领、改造思想、谎言与镇压,甚至最后动物庄园直立行走的猪和其它庄园的人类把酒言欢,而动物庄园里其它动物的生活却比其它庄园更不堪,都似乎是在隐射“改革开放”后的当下。奥威尔幸亏1950年就死了,这厮要是活在天朝,早就以历史反革命罪、诽谤无产阶级专政罪、泄密罪、颠覆罪、无中生有罪给枪毙一万次了。但他是如何作出这么精准的预言?

其实他说的不是预言,是历史。线索就在西班牙内战,就在第三共产国际,就在苏联大清洗。太阳底下没有新鲜事,当今人类的智慧也并不比几千年前的祖先高明多少。一切的一切都可以在曾经发生过的事里找到相似的影子。而我们总是遗忘,总是不屑先人的智慧,总是狂妄地以为可以斩断过去,开创全新的未来。于是历史一再重演,仿佛是种嘲弄。

秦人不暇自哀,而后人哀之;后人哀之而不鉴之,亦使后人而复哀后人也。

—— 唐·杜牧《阿房宫赋》

-------------------- 回到现实的分割线 --------------------

北师大附中历史教师袁腾飞近来颇惹争议,对他的攻击已超越学术辩论,也超越了文人的妒忌。在南方,福建规定教师在课堂散布严重错误言论将被解聘。啥叫“错误言论”呢?若有老师把三十多年前的教科书拿出来,翻到以阶级斗争为纲的语录部分读一遍,算不算“错误言论”呢?

还是在静雅思听,还是在跑步时,听到了《顺从的“觉悟者”》里面另一个历史老师的故事:当时的苏联学校接到指示,把“人民公敌”图哈切夫斯基(苏联元帅,红军总参谋长)从教科书里抹掉,于是孩子们纷纷涂鸦丑化他的相片。老师却发给一人一张纸,让大家贴在元帅相片上,并嘱咐小心点贴,因为今天他是一个“坏人”,明天他可能又会回来,到时你们就可以把纸撕下来了 —— 老师的说法后来应验了,那厮被枪毙以后又被平反了。正如后人总结的“每位苏联公民都有不可剥夺的,死后获得平反昭雪的权利”。

历史是任人打扮的小姑娘。网友说:

在世界别的地方,未来是不可预测的。而在我朝,未来无限光明是确定无疑的,历史却是不可预测的。

再次回到奥威尔的名句:

He who controls the past controls the future, and he who controls the present controls the past.
谁控制过去就控制未来,谁控制现在就控制过去。

—— 《1984》

原来这就是当前倡导的“正确的”历史观。哈哈

2010年5月16日星期日

障眼法



你很容易对你不关心的东西视而不见 —— 当心骑自行车的

上面的视频是一个驾车安全广告。让我想起一个老笑话:

记者:“您真的决定杀害100万伊拉平民吗?”
布什:“是的,我要杀害100万伊拉克平民和一个修自行车的。”
记者纷纷问到:“您为什么要杀掉一个修自行车的呢?”
布什:“我说吧,没人会关心100万伊拉克平民。”

看吧,媒体和公众的注意力是多么容易被转移。我们都说玩弄数字的统计学家是无耻的骗子,相比之下玩弄公众注意力手段要高明许多。当大家都在关心富士康五个月来第九跳第十跳的时候,让“无耻的骗子”告诉我们一些基本数据吧。


世界卫生组织(WHO)统计的全球自杀率,中国 1999 年的数字是每10万人中每年自杀 13.9 人。详情请见 WHO官网或者维基百科。因为中国是 WHO 会员国,这些数字应该是中国官方提供的,只少不多。有别的消息说,十年来这个数字已上升到 23人/十万人/年 ,官方没公布我们暂不采信。

富士康在中国大陆的员工有 45 万,按照 1999 年的官方统计数字算吧,半年内的自杀人数应该达到 31.275 人才算达到全国标准,现在仅完成平均指标的三分之一。

说它是“血汗工厂”我同意。说里面的工人辛苦加班累死累活几个月都买不起一台自己生产的手机我相信。说他们给老板作牛作马没自由没尊严没希望我也完全可以想象。但我还知道,很多农民工打破头都要去那里打工,因为它至少不克扣工资,工作环境也比其它地方好很多,一个工人走了替补一大堆,不怕没人来。

富士康很差,但不是最差,甚至都没有差过平均线。就像救灾捐款时人们指责那些捐少了的人,他们也不是最差的,甚至也没有差过平均线。但媒体就是这样,它可以轻易分散你的注意力,左右你的感受,操纵你的情绪。

2010年5月15日星期六

因为不信任,所以不简单


下周开始,Google 将启用加密搜索。以后大家在搜索时,记得在网址前面加上 https://。如果嫌烦,不妨自己修改浏览器里的搜索引擎表达式(至少 Chrome 是允许自由添加的)。具体包含 https 的 google 搜索表达式我现在还给不出,因为它现在还没有启用嘛。

我等屁民啃腚遭遇过页面被重置(ERR_CONNECTION_RESET),那就是说你访问的页面包含敏感词,被村长监听到以后立即掐线了。有时你可能很冤 —— 老子不过只想搜索一下“胡萝卜”的几种吃法或是“学习”方程的几种解法,怎么就敏感了呢?对不起,g.cn 的意思就是说这个国家里处处都是 G 点。

言归正传,如何不被村长监听?像 DNSSEC 可以给地址解析认证加密一样,https 可以给超文本传输认证加密,从此你访问的网站服务器端到你的网卡间数据不再是明文。其实严格地说,大多数 https 目前作用只是认证(Authentication)而不是加密(Encryption) —— 你有服务器证书(含公钥),服务器没有你的公钥,所以你只可能保证所得的内容一定来自你信任的那台服务器,但不能保证它传过来的内容除你之外没人解得开。

一步一步来,信任先从确认对方身份做起。两年前我在团队管理协调会上花了半个多小时作科普,给诸位领导分析部门成员间的(不)信任问题。人家天才是给生活中的问题建模,让计算机来解决;而我这呆子却是反过来用计算机的概念解释生活中的现象。记得当时我讲了 CA ,讲了 PKI ,目的只在说明信任的单向传递:我信任你,你信任他,所以我也信任他。但信任的每一环上都有风险:我可能错信了你,你也可能错信了他。在信任树上,最靠近根的那些节点是最关键的,因为断裂的链条越靠前影响范围越大。(不知道领导们听明白没有我对他们的期许)

比如我想去上一个银行网站,为了防止被钓鱼,我查看了该网站的证书。可倒霉的是给这家网站颁发证书的机构本身就是个流氓,它和骗子根本就是一伙儿。就像 CCTV 和卖脑白金的屎欲蛀。我该怎么办?我不能责怪证书机构和 CCTV 为啥纵容骗子流氓,只能检讨自己当初就不应该相信“托儿”。

趁灾难还没有发生,或者趁损失还可以补救,先把“托儿”踢出电脑。前人的方法我就不赘述了,取消信任 CNNIC 根证书的操作步骤请见:这里这里还有这里。至于为啥不信任 CNNIC 请自行搜索三年前它对奇虎360胜诉的那场官司。

在一个“官方说法”“主流媒体”不值得信任的国度,在“砖家叫兽”“有关部门”成为网民笑料,毒奶粉毒疫苗地沟油满天飞的年代,朋友们好自为之吧。诚然没人能永远活着,我只希望不要死于愚蠢。相信你一次那叫善良;被你骗过一次还相信你那叫愚蠢,这两者是有差别的。

2010年5月13日星期四

【转贴】电骡8岁生日快乐

我最早参与的网络社群是上个世纪末的 BBS ,那里的规矩是论资排辈:每个成员的资历由他的登录次数、在线时间、发帖和回复的数量及质量综合评定。虽说不可能完全公平,但鼓励奉献鼓励分享,那就是我们最初理解的互联网精神。

后来知道了一些有 Ratio 和 Credit 的 FTP 站点。比方 Ratio = 1:5 就是说你每上传 1KB 经站长认可不是垃圾的内容就可以下载 5KB 的内容。那年堂妹回国,告诉了我一个叫 Audiogalaxy 的 p2p 工具,它把这些分享音乐的 FTP 站点自动化了。在遥远的上世纪末,用它配合那 33.6Kbps 的老猫,我收齐了 Beatles 和 Bob Dylan 几乎所有的专辑 —— 这些古董在国内花钱都买不到,更何况那时穷学生的我也买不起。

听说 Napster 的时候它已经倒在了资本主义的枪口下。eDonkey2000 上学时就常用,还有 Kazaa, WinMx, DC++,然后就是 eMule。再后来开始我开始趋于保守,当零二零三年 BT 大行其道时,我鄙薄它的短视,预言它终究没有驴子长久。至于后来国产迅雷、纳米、Rayfile 之流出道,靠电脑和网络吃饭的我竟然连装都不敢装,一次也没敢尝试(小心千次不为过,大意一次已太多)。随着我对现实世界认识的深入,我知道国产 P2P 的生存之道 —— 它们以理想主义免费午餐之名,行实用主义偷鸡摸狗之实。我理解,正如理解我们的党和政府。

骡子的生存之道是我不能理解的。怀疑与希望同在,很矛盾。十年来 P2P 填充了我几乎一半的非工作上机时间,我家总有电脑常年不下火线,也是因为有了它。今天为它吹灭生日蜡烛,祝它以后的路越走越宽畅。

原文请见



有什么软件能让你一直使用达8年之久?这8年里,也许你的操作系统都更换了好几次,无数曾经热门的软件在我们的电脑里安装过,似乎永远也离不开,最后都消失了,但是有一个小软件却在很多人的电脑里一直使用着。

“在2002年5月13日的黎明,一个叫Merkur的人对原始的eDonkey2000客户端感到不满,他坚信他能做的更好。然后他就那么去做了。他在自己的周围聚集了很多的开发人员,eMule工程也由此诞生。他们的目标是将eDonkey的精华保留下来,增加新的功能,并使图形界面更加友好。他们无法想象此时的决定会带来什么样的影响……”上面这段摘自eMule官方网站首页的话相信大家已经在无数地方看了无数遍,那更像一个传说,这背后是什么样的故事,又有多少人知道呢。
历史背景——p2p技术与电驴的诞生

1999年当时19岁的美国西北大学大学生肖恩.范宁(Shawn Fanning)在自己的宿舍里写了一个小软件Napster,以便与同学交换MP3音乐文件,p2p网络文件交换和共享技术就此诞生,此后各种各样的p2p理论和实现如雨后春笋发展起来。2000年9月6日旧金山的杰德.迈克卡勒伯(Jed McCaleb)发布了自己设计的一个p2p网络,并用“donkey”(驴子)为其命名,edonkey2000 network诞生了(edonkey意为"electronic donkey")——这就是大名鼎鼎的电驴网络,简称ed2k,它由服务器端和客户端两部分组成,每个人都可以使用电驴来交换和共享自己的文件,也可以下载电驴服务器端建设自己的电驴服务器。电驴很快取代了napster成为了当时大学校园里最流行的p2p文件交换工具。
电驴官方版
电驴官方版
骡子比驴子强壮——eMule的诞生

eMule,一个来自德国的叫做“电骡”的电驴网络客户端(edonkey2000 network clinet)。2002年5月13日,本名Hendrik.Breitkreuz(亨德里克.布雷特刘兹)的德国人Merkur终于无法继续忍受美国的电驴官方公司Metamachine所提供的客户端——eDonkey(电驴),决定自己来开发一个更好的东西出来,然后他就去做了,也许是为了表明他的新家伙会比电驴更加强壮,也许仅仅是为了表示对电驴的揶揄,他为自己的这个新客户端起名:eMule——电骡,以取mule之意(mule: 骡子,马骡)象征比电驴更强,“eMule(电骡)来自一种叫做“骡子”的动物,提醒你一下,就是那种有点像驴的家伙。:)”。由于电驴是一个商业客户端,用户可以选择免费使用带有广告条的电驴或是支付19.95美元来获得不带广告的edonkey pro版,而与电驴不同,电骡是开源的,并遵循GNU GPL,因此电骡很快就吸引到了全世界不同国家的开发人员参与进来,并成立了eMule-project,今天的eMule官方组织。

eMule 电骡0.1版本
不是某个人的赚钱工具——创造eMule是为了快乐和知识,而不是为了金钱

“eMule是完全免费的,它也决不包含广告软件、间谍和流氓软件。我们之所以创造eMule是为了快乐和知识,而不是为了金钱。”这句话也是在eMule官方网站上最为人熟悉的一句话,与一些最终走向商业化或者通过安装包捆绑广告或工具条来获得收入的的开源项目不同,eMule-porject始终坚持不用eMule软件作为商业牟利的工具,官方网站的运营很早以前通过志愿者的捐款来维持,现在则连捐款都不再接受,仅通过网站的google adsense和销售一些自制的小骡子的布偶或文化衫来自食其力,这是eMule官方唯一的资金来源。
emule在线商店
emule在线商店,你可以买些小玩意儿来“捐助”emule官方
电驴之死——不可避免的法律问题

2005年,最轰动p2p界的一件事情莫过于电驴官方美国MetaMachine公司与RIAA(美国唱片工业协会)达成协议,将赔偿3000万美元,并且永久停止开发电驴软件,作为一家商业牟利的公司,和Napster,Kazaa等商业p2p服务商的结果一样,电驴不可避免的要为其用户的盗版行为负法律责任,因为电驴在这其中赚钱了,由于MetaMachine只是一家小公司,无法继续支付高昂的讼诉费用,所以最后以赔款加永久停止开发的方法自行了断。2006年9月28日电驴官方网站也永久关闭,并在官方网站留下以下遗言“电驴网络永久关闭,你的ip已经被记录,盗窃音乐将受法律制裁.....”,电驴成为了历史。同时一些国家制定了新的法律,来限制利用p2p文件交换技术进行盗版传播的行为,一些开发者比如xMule的作者(美国),为了避免可能的麻烦,宣布不再参与开发p2p软件。
eDonkey-电驴
2006年9月28日电驴死了,电驴(2000-2006)
分散式VS中央集权式 1——eMule模式的成功

在告倒了Napster,把Kazaa赶到南太平洋上以后,电驴的灭亡,终于让版权业者松了一口气,然而遗憾的是,他们很快发现电驴网络并没有随着电驴官方的灭亡而消失,因为电驴网络的其他客户端依然存在,比如MLdonkey,Shareaza,eMule,aMule等,麻烦的是与电驴不同,这些软件全都是开源的,而且很早以前就超过了电驴官方版的使用率,这些软件项目托管在开源社区,任何国家的程序员都可以为它们添加一行代码,这是一个分权体系,与集权化的商业公司所开发的软件电驴,Napster,Kazaa等不同,这些开源项目没有明确的首领,没有层级结构,也没有指挥总部。消灭电驴和Kazaa,只需要通过官司,把电驴官方和Kazaa官方打击掉即可,但是对于eMule等小软件,任何一位律师对此都束手无策,它不是任何公司的“产品”,它没有赚钱没有任何商业模式,你甚至找不到它的作者是谁,“电骡之父”Hendrik.Breitkreuz早就离开了emule-project,旧的程序员退出新的开发者会加入,也许始终只有一两个人,但是却始终在继续。就算找到它的作者,与那些煽动纵容传播盗版来牟利的商业p2p服务公司不同,作为一个没有任何盈利行为的非商业软件的作者,法律如何能确认他要为用户的行为负责?与分散式的自由开源软件电骡相比,中央集权的商业软件电驴才是脆弱的。



相比分散式的网络,中央集权是脆弱的
分散式VS中央集权式 2——KAD网络的成功

相比分散式,中央集权式是脆弱的,往往出现一个中心点倒下,整个网络瘫痪类似于树倒猢狲散的情况。无论Napster还是电驴网络,依旧都是中央集权式的网络,网络需要诺干中心服务器的支持,客户端链接到中央服务器端提交自己的文件列表和在中央服务器查询文件索引,如果没有中央服务器的支持,网络将无法运行,这也让这类p2p网络及其脆弱,也更容易遭到攻击,开发者们很早就意识到了这个问题,一些完全的无服务器网络(serverless network)被设计和开发出来,成功的有Gnutella,Gnutella2等。2002年纽约大学的两个年轻教授,Petar Maymounkov和David Mazières 发表了论文《Kademlia: A peer to peer information system based on the XOR metric》,他们设计了一种非集中式的P2P网络结构Kademlia,这个研究成果被一些开发者注意,电驴官方发布了自己的一个实现Overnet网络,起初是一个独立的客户端(也叫Overnet),并最终将其合并到其官方电驴客户端里面,电骡的开发者们认为Overnet并不够好,于是采用了自己的实现方式,并直接叫它KAD,KAD与Overnet并不兼容,并于eMule v0.42版本开始将KAD合并到电骡客户端之中。 经历了不断的改进,如今的KAD——KAD2已经越来越成熟,虽然不算完美,但是运行良好。用户已经不再需要完全依赖于电驴网络,即使全世界的电驴服务器都关闭了,电骡也可以很好的运行。以至于电骡官方论坛有人发出了这样的言论“如今大部分电驴服务器都是间谍服务器或虚假服务器,忘掉ed2k,使用KAD”。除此以外Kademila也在其他P2P程序那里得到了应用,比如Bitorrent的Mainline-DHT和Vuze的Azureus-DHT等等。

David MazièresPetar Maymounkov

David Mazières 和 Petar Maymounkov 提出了Kademlia
eMule与eMule Mods——独特的eMule开发者文化

虽说骡子不能生育,但是作为一个开源项目eMule恐怕是拥有最多MOD(modification,修改版)的一个了,从eMule诞生以来,格式各样的mod层出不穷,eMule官方论坛也为各个开发者提供了良好的支持,并为mod开发制定了一定的规则来引导,每个开发人员都能打造出符合自己理想的eMule mod,各式各样功能和奇思妙想纷纷出现在mod里,你想显示其他用户的国旗吗?你更专注于上传吗?你想要更严厉的反吸血功能吗?你需要平衡你的带宽利用吗?或者你需要更完美的信用积分系统?一些优秀的mod脱颖而出,Xtreme系的特色在于小巧灵便,是官版的瘦身强健版;Morph XT系的特色是上传部分更加注重可定制化与人性化的使用提示;另外一些mod(比如StulleMule)则会使用完全不同的信用系统;甚至还有瑞士军刀般的Neomule——这只是几个典型,除此之外还有更加多样化的mod,而一个优秀的功能在经历了mod的长期使用后,也可能被官方eMule所采纳。对于用户来说,官方eMule和这些mod相互借鉴,相互补充,让使用者有了更多的自由选择,其实选择eMule mod就好比逛公园之前挑选一件合适的茄克一样。一件够吗?当然。试穿不同的茄克会有副作用吗?当然没有。你可以在一个eMule列表网站emule-mods.de里看看这些个性鲜明的骡子。

emule morphXTemule stullemuleneomuleemule scarangelemule mephsitoemule eastshare
最有可能让用户被起诉的软件——不当使用eMule将走上法庭

2008年,eMule在开源社区网站sourceforge评选的社区选择奖中,获得了一个有趣和绕口的奖项,“最有可能让用户被保护旧有版权商业模式的组织起诉的软件”。事实是的确有不少用户因为使用eMule共享和下载受版权法律保护的电影音乐等走上了法庭。和电驴的问题一样,作为一个可以让用户自由共享和交换文件的P2P软件,有大量的盗版文件每天通过电骡进行传播,对于eMule官方来说,和那些暗地鼓励用户使用其软件传播盗版而牟利的商业公司不同,他们从来不是盗版的鼓励者,eMule官方网站有一个自己的ed2k资源站,contentdb.emule-project.net,上面都是自由版权的软件,音乐等文件,eMule官方网站也禁止用户在其论坛发布盗版链接和讨论,并希望用户们明白,盗版文件不是P2P唯一能传播的东西,用户必须为自己使用eMule所从事的行为负责,eMule官方还声明不会进行匿名P2P网络的开发来保护盗版下载者。
欺世盗名者的泛滥——假冒eMule官方的钓鱼网站

作为世界上最著名,使用人数最多最为广泛的小软件,总是少不了一些居心不良者制作的假冒eMule官方的钓鱼网站存在,并通过假冒的官方版捆绑一些流氓软件或广告软件牟利,域名诸如emule.com,emule.org之类,屡有不知情的用户受骗上当,以至于emule官方管理员无奈多次在论坛强调,那些要打着emule官方旗号的,捆绑其他软件的,安装要注册码的,让你付钱的网站都是钓鱼网站,不要被他们欺骗,emule官方域名是emule-project.net(或.org 或.com)。然而对于emule这样的非商业组织来说,他们没有任何办法阻止那些狡猾的商人来通过各种手段来欺骗用户甚至搜索引擎,因为他们没有资金来搞什么竞价排名,唯一能做的就是提醒用户自己小心,这甚至导致了eMule官方网站的Adsense广告里出现了如下搞笑一幕。

eMule官方网站的Adsense广告里出现了搞笑一幕
超过5亿次的下载——sourceforge最长久不衰的开源项目

很多人曾质疑像eMule这种不赚钱,不牟利,完全松散没有固定开发人员的开源软件能否持续下去。今年(2010年4月27日),在经历了一年的等待后eMule-project再次发布了一个新的版本,eMule 0.50a ,而如今eMule已经以累积超过5亿次的下载量在sourceforge长期占据第一位,令人吃惊的是,连eMule的一些优秀的Mod比如MorphXT,xtreme都名列前茅,这不能不说是一个开源社区的奇观。eMule官方始终有条不紊的延续着自己的开发周期,半年或一年更新一次,虽然看似缓慢,却非常稳定,作为长时间内仅有1至2位主要开发人员的开源项目来说,坚持就是一种难能可贵,很多排名靠前的开源项目都已经好几年没有人维护,在eMule的mod方面也是如此,原来的作者可能忙别的了,但是一个优秀的mod不会后继无人,新的作者会继续加入。
官方版 eMule 0.50a
eMule 0.50a官方版
电驴已死,电骡依旧——eMule八岁生日快乐!

感谢“电骡之父”Hendrik.Breitkreuz(亨德里克.布雷特刘兹),感谢他带给了我们最好的P2P文件共享工具,最好的电驴网络客户端,没有电骡,电驴网络——ed2k会像FastTrack随着Kazaa死去一样随着电驴的死去而死去。也感谢那些曾经来到emule-project中的德国人,法国人,意大利人,巴西人等等不同国家的为eMule的开发作出过贡献的程序员,他们用自己的业余时间和精力一起共同创造了eMule的神话,而这一切都是没有酬劳的,他们也许只在eMule官方论坛留下了“马甲”,但是他们的“马甲”会永远保存在eMule的源代码中。感谢那些翻译人员,测试人员,捐助者以及全部用自己的方式来帮助过emule-project的人们,没有他们的帮助,emule-project也无法存在。最后让我们一起说 eMule(请记住它的中文名字叫“电骡”), 8 岁生日快乐!

emule happy birthday

eMule(电骡), 8 岁生日快乐!

参与过eMule开发的人们:http://www.emule-project.net/home/perl/general.cgi?rm=team

捐助过eMule的人们:http://www.emule-project.net/home/perl/general.cgi?rm=donations

参考资料:

1.eMule官方网站:http://www.emule-project.net/
2.《带你纵览p2p文件共享软件》:
http://emule-fans.com/let-us-see-p2p-filesharing-program/
3.《eMule的成功——一个未经授权的仿制品,anti-business是eMule存活的基础》:
http://emule-fans.com/emule-anti-business/
4.《eMule, Mods和你 [译文]》:
http://emule-fans.com/emule-mods-and-you/
5.《生于9月死于9月,电驴9岁“生日”不快乐》:
http://emule-fans.com/edonkey9years/
6.《有关Kademlia理论的学术论文与作者介绍》:
http://emule-fans.com/kademlia/
7.《eDonkey2000(电驴)存档》:
http://emule-fans.com/edonkey2000-and-more/
8.《永远不会出现在eMule官方版本中的特性》:
http://emule-fans.com/features-you-wont-see-in-emule/
9.《eMule官方提出的对所有eMule Mod的要求》:
http://emule-fans.com/requirements-for-emule-mods/
10.eMule官方sourceforge项目页:
http://sourceforge.net/projects/emule/

附加资料,给那些分不清驴子和骡子的人

mule:骡子,马骡,固执的人。公驴和母马所产后代称为马骡(英文:mule);公马和母驴所产后代称为驴骡(英文:hinny)。马骡个大,和马外型更接近,难于辨认,具有驴的负重能力和抵抗能力,有马的灵活性和奔跑能力,骡的寿命较长,一般可活到35岁左右,如饲养管理良好,可达50岁,使役可达20年。骡子胆大、活泼、好奇、机警、勇敢,勇于与野兽搏斗。活泼好动,尤其日出、日落时爱撒欢狂跑。骡子好奇心很强,遇有新奇事物,总喜围观。

骡子



目录: eMule官方, 新闻。标签: , , 。您可以亲自评论一下或者Trackback到本文。
您可以订阅全站更新的RSS,或在 Twitter 上 Follow @emule_fans

文章版权归属原作者,一般遵循CC3.0 BY-NC-SA,据此协议,转载请注明原作者;eMule及其衍生作品遵循GNU GPL v2协议分发。

2010年5月12日星期三

螃蟹、母鸡、自我实现

在超市里,看见一只五花大绑着的螃蟹从18.9元的冰柜里往28.9元的柜子里爬。

我泪流满面,你太他妈有上进心了!



说是有两只母鸡,主人喜欢白的,因为白的下的蛋比黑的下的蛋大,多卖五毛钱。

主人问黑鸡为什么不下贵点的蛋?

她答:傻逼才为五毛钱把屁眼撑那么大呢。


2010年5月9日星期日

五月花

写下这标题的时候,只想给本月看过的电影找个好记的名字。不是想讲述三百九十年前抵达普利茅斯的清教徒移民船的故事,也不是想回顾我工作头一年独自出差在武汉住过的某家酒店,更不是指某款卫生纸。卫生纸让我惭愧。本月头三天我里坐了24小时的火车,为此我准备了至少能放一昼夜的 PSP 电影和手机 MP3,七块充足的锂电池板外加两个充电器,三本小说还有既可充饥又当休闲的零食饮料,此外还有电子地图和指南针,记事本和笔,多功能刀具(两把),清凉油,打火机、手电,惟独忘了卫生纸 —— 一张也没带。发现这个窘境已过午夜,整个车厢连列车员在内都睡着了。本大侠千里独行江湖多年,这样的疏漏还是头一遭。

言归正传,说电影:




阿凡达》 —— 期待了好久的影片,终于下到了双语双字幕蓝光版,想和老妈共赏。可她目前状况不可能集中半小时以上的注意力,我只好看完先不删,期待哪天能陪她再看一次。我国观众给此片赋予了时代意义,影射当前愈演愈烈头破血流的拆迁队和钉子户的斗争。谁对谁错呢?先进文化替代落后文明就一定对么?土地财产权是否就一定神圣不可侵犯?当五月花号的移民后裔最终占领了北美几乎所有的土地,人们说这是文明的进步。而当地球人在潘多拉星球上采取同样行动时,人们说这叫抢劫。区别只在,前者打赢了,后者打输了。先进落后的比较是要动真格的。达尔文早就说过:物竞天择适者生存。毛太祖说:枪杆子里 xxx。邓二世也说:xxx 才是硬道理。所以拆迁队和钉子户,你们继续努力壮大,争取“公正”只能靠自己。

影片最后,男主角放弃了人类的躯壳,做了纳美人。看过电影的同事也说,她觉得做人真没劲。早在两千多年前,庄子在梦中有过同样的体验。他最后还是选择做人,只因为那时的科技还不能把他的灵魂彻底植入蝴蝶体内。唉,两千年后的现在也还是做不到,所以才要 RPG,所以才要网游。当年我玩魔兽世界的时候,老妈就说我“又甩尾巴去了”,因为在那个世界里我是个牛头萨满。




非法入境/Welcome》 —— 法国片,说的是另一类移民的故事。在人类历史上,先进族群向落后地区拓展生存空间需要大规模组织甚至以战争的形式。而落后地区的民众移民发达地区,则只需要个体的努力,这种形式的移民更普遍更持久。作为强势一方的本地人,在如何对待新移民的问题上,需要经历道德的考验:如果你承认他们和你有同等的权力,则你自身利益会受损(毕竟资源有限);如果你否认他们的权力,那你对自己先进文明和平等人权的认知又如何站得住脚?这个道德问题和“肉食者和外星人的问题”一样纠结。那个问题问:“高等智慧”的外星人入侵地球,要吃掉“低等智慧”的人类,作为一个肉食者,你如何说服他不吃你而你自己可以安心享用别的在你看来“低等智慧”的动物?

事实上,在种族、出身、性别、年龄、外貌、智力等等方面,我们每个人都歧视过他人也都被他人歧视过,世界从来不是平的,永远也不会是。还是要自强不息,在许多年前 BillG 就把话说得够明白了:
Life is not fair, get used to it.
生活是不公平的;要去适应它。

The world won't care about your self-esteem. The world will expect you to accomplish something before you feel good about yourself.
这世界并不会在意你的自尊。这世界指望你在自我感觉良好之前先要有所成就。


Flipping burgers is not beneath your dignity. Your grandparents had a different word for burger flipping; they called it opportunity.
烙牛肉饼并不有损你的尊严。你的祖父母对烙牛肉饼可有不同的定义;他们称它为机遇。

...





伍德斯托克 1969》 —— 那可能是人类离世界大同最近的一次。老一辈的国人或许会把这和他们经历的那些广场运动类比。不一样的!!! —— 人家呼唤的是音乐和爱,而你们高喊的是“打倒”和“万岁”。列宁说:“革命就是人民群众的盛大节日”,而我觉得文明人对节日的定义不应包含杀人整人这些传统节目。共同点是,这种狂热的气氛只可能是虚幻的、暂时的,天天这么折腾人类就离灭亡不远了。




虚拟革命》 —— BBC 的纪录片,回顾二十多年来互联网的发展。四集分别从四个角度看互联网:技术,政治,经济,人文。我干过几年故障分析,思维习惯类似侦探,由果导因,主要靠猜测排除法,这很难。看完这个节目,我意识到,原来由因导果也这么难。一个新事物的出现,产生的影响和连锁反应,谁都没法预料,即便他的发明者也不知自己究竟干了什么。说谁谁谁是什么什么的“总设计师”这样的话,纯属扯淡,事后诸葛亮。无限多的条件相互作用谁也算不了那么多步棋。二十多年了,这棋远没下完,后面怎样?走着瞧吧。




冷冻灵魂》 —— IMDB 上不足 7 分的片子。异想天开冷藏灵魂的服务,让我想起三年多前看的《美丽心灵的永恒阳光/Eternal Sunshine of the Spotless Mind》;交换灵魂又让我联想到《傀儡人生/Being John Malkovich》;由那个纽约演员的中年危机,他的压力和自我怀疑让我联想到《兰花窃贼》里尼古拉斯·凯奇的独白。遗憾的是,此片编剧很欠火候,没有冲突没有高潮,没明白它要表达的是什么,错过了一个本可以任意发挥的好题材。




城市广场》 —— 一千多年前的伟大的数学家,希帕蒂娅。她不幸生在几个宗教相互倾轧仇杀的时代。她死于没有“信仰”,她死于坚持怀疑。作为一个学者她必须怀疑众人视之为天经地义的东西,这是思考的开始。而所谓“信仰”,是思考的终点,也是极端主义者行使暴力时挥舞的旗帜。




灿烂人生/The Best of Youth》 —— 意大利片子,上下部加起来六个小时还长,要是在电影院里看,绝对考验胃和膀胱。看完又一想,一个国家四十年的岁月变迁,六小时还真不算长。这里有《阿甘正传》的影子,那些鲜活的人物或激进或保守,对立冲突又相亲相爱,映射出他们生活的年代。不知在多年以后人们会怎么看待我们今天这个矛盾的时代和国度。我们会有这样史诗般的电影么?如果有,我会去影院让热泪再次盈眶,让热血再次沸腾,带足水和干粮,卫生纸怕已不管用,穿上纸尿裤吧。

2010年5月5日星期三

今夜无人入眠


北京时间今晚午夜,全球十三个根域名服务器的最后一台将完成 DNSSEC 部署。想要知道这是在干什么,先学习一下什么叫做“地址投毒”,这里还有这里。我来换个通俗的说法:

你的地址本(hosts file)容量有限,手工更新也麻烦,去不认识的地方你常需要问别人。你可以问本村的村长(DNS provided by ISP),村长有私心,他知道但不一定告诉你。比方说你要问他信访办的地址他肯定不能告诉你 —— 他干的亏心事太多,怕你检举他呀。于是你试着问村外的人(OpenDNS, Google DNS, etc.)。但你和别人所有的谈话村长都在一旁偷听,不光偷听,在还总抢在别人回答前冒充对方给你个错误的地址。

如何证明村长在偷听?用这篇文章给出的方法,我们来作个简单的实验。打开一个命令行窗口,把下面的命令执行多次:

nslookup -type=A www.youtube.com 129.42.17.103

“129.42.17.103” 是一个不存在的 DNS 服务器(可以把这个地址换成一个其它同样没有 DNS 服务的 IP 地址,效果是一样的)。在墙外执行这个语句不会有返回,而在墙里不但有返回,而且每次的结果还不一样。

“www.youtube.com” 是一个村长不想让你知道地址,不管你问谁这个地址在哪儿,哪怕去问一条狗,心虚的村长都会在对方答话前抢答。鉴于你问的是一条傻狗,正常结果应该是它根本不理你。而现在,你刚问完话,就听见狗叫,你再问同样的问题,狗又叫但叫声和上次不同。至此可以断定,叫声不是来自你问的那条狗,而是村长在学狗叫。而如果把以上命令里的敏感地址换成比如 “www.sina.com.cn” 这样村长认为安全的地址,这回村长就不叫了(当然傻狗也不会回答你)。


DNSSEC
的工作就是要给村长冒充别人说话制造一点困难。接下来根服务器以下的 DNS 服务器也会引入这一技术,用户要做的事就是找一台墙外的 DNS 服务器,设好 IPSEC 和 CA 认证。步骤比较麻烦,不同操作系统方法也不一样,相信不久就会有图文攻略出炉,跟着做就是。

村长那边的最新动向只许我学狗叫鸡叫,村民放个屁都要实名制。以便必要时可按“泄漏机密”或“危害安全”罪给放屁者以惩治。

村中屁民对此条令的反应大概是 ————


翻去年春夏之交的饭否记录,热词之一是“绿坝”,那个夏天没过完,饭否就没了。道消魔长,情况一天比一天糟,但我们总算守住了一城,不是么?

2010年5月3日星期一

棒子戏

两个昼夜,去长沙打了个来回,送亲戚。坐的是硬卧,一路上又扫了几章小说几部电影。

回来的时候正赶上陪爸妈吃中饭,电视里放着韩剧,剧情对白都仿佛重复过一千遍而老爸依旧全神贯注,时不时还发表些评论。在老妈的追问下,我开始讲述车上的遭遇,一共三句话,我说得很慢:

车厢的隔间面对面上中下铺一共六张床,中间有个液晶电视,里面放着韩剧。上铺一个四五十岁的中年男人正看得入迷。不知啥原因电视坏了图像没了只有声音,中年男子开始跟列车员抗议...

老爸插进来问:“抗议个啥?”
我答:“抗议看不到韩剧。”
老妈问:“车上还有电视呀?”
我:“......”

唉,还是别打扰他们看韩剧,我吃完快些收摊吧。