由 Behaviour.js 到 Degrader.js

Behaviour.js

Ajax 用起来很酷,可是你要要在 XHTML 里面写上 onclick,onmouseout,onkeyup 等等来触发调用一些 js function 。于是,Ben Nolan 在 http://bennolan.com/behaviour/ 上发布了 Behaviour.js 。和之前谈到的 FSA::Rule 模块类似,只要在 XHMTL 中给出 id 并且定义好一些 Javascript 的 Rules,并把这些规则注册到 Behaviour 引擎中即可。至于规则的定义,分三部分,也就是对谁在什么时候做什么事情。通过 css selector 来实现“对谁”,所以之前定义的 id 在这里派上用场了,也是 js 和 xhtml 只见的纽带。“在什么时候”,也就是相关的事件出发,比如一系列的 on… 事件。一旦发生事件,就触发去做一件事情,“做什么事情”也就是要做事情的 js function ,至于其中如何,随你的便了。

Degrader.js

Encytemedia 觉得 Behaviour.js 不爽,很多业务细节暴露在外面,也就是不够抽象。于是在这里(这是Part2) 发布了他自己改良的 Degrader.js 。废话少说,先看张图示:

通过对 id 名称的模式匹配,可以对许多个 id 绑定义系列的事件触发。所以,你只需要给出 pattern 并在 onMatch 的时候,动态注册一系列的事件观察(Event.observe),一旦发生了某个 event 就调用某个 function 。使用 Observe 设计模式,代码更为简洁优雅清晰。接下来该作者还会发布 Part3 给出一个实际的 RubyOnRails 应用。

此外,W3C 开始介入 Ajax 相关的领域,成立了 Web APIs Working Group ,开始要制定一系列的标准。看来真的要革命了。

Read More

No Comments »

  1. Anya says:

    Ajax 确实是好东西。最近一直在看Ajax.net Pro。有空一起研究研究

RSS feed for comments on this post. /

Leave a Reply

GitHub 中文版

应 Scott 之邀,负责翻译 GitHub 站点为中文版。700+ 词条,没有上下文,靠推猜去尝试翻译,所以一定会有地方看起来古怪或者不对,如果各位发现了,烦请及时告诉我,我去修正。当然,如果有更好的译法也请告诉我。期间 Henry 帮助 review 和修订了几条,谢谢 Henry。GitHub 目前提供可翻译的词条只是常见的大部分,所以看到有整句英文的不用奇怪。以后应该会陆续开放新的词条供译者翻译。

从我个人的角度来讲,中文版没什么太大意义。一般写代码用到 GitHub 的人,英文一定也没问题。但对于 GitHub 站点本身来讲,这次的全球语言本地化则是另一种意义,表明的是一种态度,一种亲和力。

救人一命(已实施血浆置换)

更新:昨天下午,病人已经开始血浆置换手术。情况稍有好转,但仍然非常虚弱。谢谢各位。

更新:目前病人几度昏迷,连转院都属危险。置换疗法可到苏州,南通做,但目前无法转移,而且昏迷的话是否必要也成问题。另外谢谢热心的许先生提供的信息。希望会有奇迹。谢谢所有转发消息的善良的人们。

前些天我老婆的朋友(我们都叫她茶叶姐姐)突然晕倒,当时初步检查说是血液病。经过这几天细致检查,虽然还未最终定论,但基本确定是“血栓性血小板减少性紫癜(TTP, Thrombotic Thrombocytopenia Purpura)”。这种病极为罕见,疗法目前叫停。我不是很懂,但至少,有机会救人一命,就应该抓住机会,不能错失。我希望所有认识我的朋友,都能帮助广泛传播这条消息,尽可能找到相关专业人士,以及有效疗法,最终目的只有一个,救人一命。我和茶叶姐姐有过几面之交,我担保此信息真实。任何需要联系我的人,可以直接发邮件到 chunzi@gmail.com 或者直接打我手机 18602198918,我会负责转告当事人。

茶叶姐姐的老公在天涯发文求助,以下全文转载。另外在开心网也有转贴。对于政府叫停疗法,我觉得我们的对策不是和政府拉锯,而是撇开所有繁文缛节,快速直接找到切实有效的治疗办法,救人一命的办法。谢谢大家。

天涯上的原始帖子:http://www.tianya.cn/publicforum/content/help/1/278626.shtml

我和我老婆已经结婚三年了,虽然各方面物质条件一般,但是一直生活的开心快乐,直到大概十天前。

7月2号我老婆突然觉得身体不适,身 上发出针尖大小的出血点,而且有按着不疼的乌青块,身体很疲惫,没有力气。我们感觉不对,马上到瑞金医院看病。看了瑞金医院的血液内科,在这一周做了很多 项检查之后,我们通过对医生的询问越来越感到事情的严重性,大部分医生初诊的结果都指向了一种叫TTP的病症,这是一个原来从未听说过非常少见也非常危险 的病症,每年约1∶100万,直到这周一做好骨髓穿刺,虽然骨髓穿刺的结果还没有完全出来,但基本排除了白血病的可能,越来越多的指向,指向了 TTP(TTP(thrombotic thrombocytopenia purpura) 血栓性血小板减少性紫癜 是一种急性有潜在致死性的疾病,其特点为:(1)严重血小板减少,(2)血涂片中见碎裂的红细胞(头盔状细胞,三角形红细胞,形状扭曲的红细胞)伴溶血的 证据(Hb水平降低,幼红细胞增多,网织细胞数增高,血清乳酸脱氢酶水平增高),(3)急性肾功能衰竭,(4)发热,(5)多脏器有表现不一的局部缺血性 损伤.临床表现包括中枢神经系统症状(神志模糊和昏迷);)这个消息对我和家人简直就是晴天霹雳。

在和医生和众多朋友询问过之后,知道TTP 首选的治疗方法为“血浆置换”疗法。1976年开始采用本法治疗TTP后疗效迅速提高,可达67%~84%,使TTP预后大为改观。认为它能去除体内促血 小板聚集物、补充正常抗聚集物,应及早进行。一般用量为每天40~80ml/kg的新鲜冷冻血浆,至少5~7天。治疗有效(一般在1~2周内) 则血清LDH浓度下降,血小板增高 神经系统的症状恢复。通常在血清LDH浓度下降至400U/L时,即可停止血浆置换。血浆置换疗法中不宜用冷沉淀物,以免大量ⅤW因子触发血管内血小板聚 集,输注血小板应列为禁忌。但是在和医生沟通之后让我几乎绝望,医生说就在前段时间,医院的上级部门以要重新审核“血浆置换”疗法的价格体系合理定价了为 由,全面停止了上海医院“血浆置换”疗法的操作,这无意于把我们逼到了绝路,我想政府部门重新审核肯定有种种理由,但是我想政府部门制定这种决定,也应该 多为病人着想,想的更加周全一点,尤其是对这种危险而又罕见的病例是不是在这段重新审查的阶段有什么变通的办法。可以重起“血浆置换”疗法救救我老婆的 命。
我也是实在没有办法了,只好希望通过众多的好朋友,众多的有同情心的网友帮我一起呼吁一下,希望可以可以重起“血浆置换”疗法救救我老婆 的命。万分的感谢大家!!!!

Google Ads

《我的奋斗》

早年还在枫林路混的时候,就花过小半天时间听老罗语录,一个人望着窗外痴笑不停;后来也看过他们新东方的人四处演讲的视频,以及老罗自己的一次演讲。所以看这本《我的奋斗》完全属于复习心态。这次没有花钱买,直接网上找 epub 的到 iphone 上看。看完了觉得还行,主要讲他小时候的想法和遭遇。谈不上奋斗。不过老罗本身的成功就是很好的奋斗昭示。因为最可贵的不是他的粗旷和愤青,而是他的细腻和坚持。坚持原则和坚持目标。

epub 看书还是有很多问题的。排版上肯定无法重现纸本。最要命的是内容质量无法保证。缺个章少个段的,都没法确认。我后来去书城翻了下,两个版本的 epub 都不完整。但要是看过 epub 电子书,谁还有心思再去翻一遍原版图书呢。像《我的奋斗》这种随便翻翻的闲书没什么问题。要是村上春树的《1Q84》我就无法接受。内容固然重要,形式也不可或缺。所以我买了两本,前两天在家翻地津津有味。所以我觉得,电子书并非要取代纸书,也无法取代。读这两种书的群体根本就是两个群体,互为补充罢了。特别在中国,更有一大群人整天拿着山寨手机看  txt 垃圾小说,还乐此不彼。

Zuill Bailey

NPR: Tiny Desk Concerts Podcast 6 月 6 日那期的 Zuill Bailey: Tiny Desk Concert 看得我莫名兴奋。看之前并不知道 Zuill Bailey 和那把大提琴的背景,只是被厚重而富有层次的乐音所震撼。Zuill Bailey 平实风趣的演说,极其投入卖力的演奏,加上 Bose 耳机的忠实回现,几乎可以感受到现场每丝每毫的空气震颤,听得我气血倒流。然后我才了解到他是中生代重量级大提琴演奏家,那把琴也是古董琴,所以音色特别浑厚凝重,甚至让人觉得它有气息有灵魂。之前我从未仔细聆听过大提琴演奏,以及 Bach 的乐章,这一次却让我犹如新生。好像那些暴风骤雨般的音色能透出来无限种颜色和感情来,又好像穿梭在无垠空彻的山川河谷之间。百听不厌,又每每感受不同。反正我是听了不下几十遍。

iOS 4.0

第一时间升级到了 iOS 4.0。感觉上确实要比原来要快些。所有打开过的应用都出现在任务栏里,让我有点不适应,很有强迫症要去关掉。删除应用时也不需要 vote 了,爽快很多。iBooks 在 iPhone 上显得小巧精致,就像捧着真的小书在看一样,很有好感。中文字体也比 iPad 上好很多,而且都是左对齐,不像 iPad 上只能两边靠齐,中间兀自多出来的空白丑死。不过发现 iPhone 上的 iBooks 查字典,会报告“Not available for this language.” 我用的可是全英文。Photos 里面看图片多了按地理分组,很直观很酷。本来超出屏幕的应用必须重启才会再显示到空白区域,现在会自动出来。原来双击 home 我设置的启动 camera 现在默认呼叫多任务,但我找不到重新设置的地方,倒是发现多了个 triple home 设置 VoiceOver/Zoom/Large Text/White on Black。

日志

无法回到过去,因而有志。志和博客不同,一个是历史记录,一个是个人出版。志和 twitter 相近,但如今 twitter 多为社交,包含但不限于志。自己的志,或琐碎,或隐私,没必要也不该公布。曾记过一纸本日志,猎猎回翻,仿佛穿梭时空观望过去的自己。很有意思。纸上涂画很有快意,但终归有所不便,无法想到就记,不免疏漏,也无索引。

现在,我决定按照这样的方式继续。mac 上用 tweeite 写志到另外的 twitter 帐号。因为 tweetie 实在是太方便了,cmd+i 调出窗口写,完了 cmd+enter 发布。完全不用鼠标。没有 mac 就用 iphone,官方的 twitter for iphone 最顺手,设好 api 无需翻墙,直接发推。数据都在云端,剩下的无非重构显示形式,这个不着急。

这个 timeline 才是最干净,最符合其意义的 timeline。所谓日志。

空手哲学

年岁越是上去,越是觉得身边的附属品太多太杂。每每在家整理东整理西的时候,都因为“舍不得”,“或许将来还有用”,“这可是一段回忆啊”等等,重新放回箱子。可是,真的需要么?未必。

看过《Up in the Air》的一定对 George Clooney 在演讲台上的一番话记忆犹新,那是关于 backpack 的一段说辞。看过《Fight Club》的一定对火烧 IKEA 家居变得一无所有而感到兴奋,却始终没有那样的勇气和非理智。人们总是倾向于拥有,不愿舍弃。在原始社会,这是值得嘉奖的,因为那时候物资匮乏。而我们生活的时代,物资充裕,拥有的多过所需的。不愿舍弃拥有的,这种进化而来的本能,使得生活在当今的我们,变得愈发烦躁和浮夸。同人于野有篇文章《坏比好重要》解释了为什么人们害怕损失(不愿舍弃)。

舍弃,开始变为一种哲学,一种生活态度。gugod 在以前的一篇“减法上等”的文章中说:

我也很愛這句安東·德·聖艾修伯(《小王子》的作者)所說過的話:

Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.

私譯為:

完美,並非能再加入些什麼,而是無法再減去些什麼。

为求完美,必先舍弃。《Rework》中也提到“Say no by default”,在大家热衷于堆砌各种功能的时候,dhh 清醒并明白舍弃的积极意义。Apple  的产品也到处体现着舍弃哲学。

人们不愿尝试做些改变,多半只是因为没有尝到改变以后的甜头。虽然道理上明白,但未实践,就无从体会,也就没有动力改变。舍弃之后,带来的利弊究竟各有多少?何不亲身实践一下,然后理智分析。

就像 Gmail 里的邮件,删除还是存档?电脑里的文件,commit 还是 delete?purge-me。抽屉里的杂物,数月没用过的有几样?如果在可预见的未来并不需要,那就直接舍弃。如果是孤本,做好索引;如果是副本,需要时再去找好了。绝大多数我们看似用得着的东西,实际上几乎没有再用到的可能。

空手哲学,是一种境界。如同两袖清风,一身淡泊的出家修行者,虽然两手空空,但内心殷实。作为第一实践,我刚刚删除了无数 Google Reader 里的订阅(终于有了 unsubscribe from all 的功能,等了多少年了。)当然,除了实在的东西需要舍弃,还有许多情感也需要舍弃。此谓之放得下。

Getting thing done

公司每两周要开一次例会,小头目的例会。实际上也没多少事情,但为了告诉大老板“你看,我们一直在努力前进呢!”这样的信息,所以形式上还是要的。光是 GM 一个人唱戏,没那么多剧本。所以轮流下来大家讲,讲什么都可以,关于工作的关于管理的都行。这个礼拜挨到我,东西是早准备好了的,但会议意外取消,也没什么通知,估计要顺延。要讲的东西是 Getting things done, 第一次使 keynote,用得还比较浅白。早就上传到了 slideshare,这里顺便也放下:

WordPress Tweeter

新发 blog 用 FriendFeed 订阅再推送到 Twitter 有两个缺点:时延和墙。既然我的主机在墙外,为什么不直接用插件发呢?试试看 WordPress Tweeter,走 Twitter API,很好很强大。此文顺做测试。

流阅读

怎样阅读一堆内容最有效?看看现今的报纸杂志好了。字体大小,图片位置,颜色深浅,无不影响着阅读体验。并且更为重要的是,它们实际上是在引导阅读。

iPad 上就有个叫做 Early Edition 的应用,我很喜欢,本质上它是个 RSS 阅读软件,和 Google Reader 一样。但不同的是它按报纸风格排版:大标题,分纵览,有大块文字和图片,也有小块摘要消息。就单单是这么简单的创意,却足以令其鹤立鸡群。

昨天 Safari 5  发布的 reader 功能与此类似,用最简洁朴素的方法将内容呈现出来,效果非同一般。这也是为什么在 iBooks 上看书很赞,感觉很棒,但在 Kindle for mac/iphone 上看起来味同嚼蜡一般。顺提,Stanza for mac 也不怎样,BookReader 就很不错,非常接近 iBooks 了,另外一个 mac 上的软件 Tofu 也是类似的理念,流阅读。

像杂志还是像网页?流阅读还是点阅读?体验完全不同。

本来是想拿掉 Google 广告,再简化下 blog 页面,找新的 WordPress 主题,但始终没有满意的。要么太啰嗦,要么太花哨,要么毫无美感。我倒是很喜欢 http://daringfireball.net 的风格,干练、智慧,但仍然看起来像网页。

在几乎想要放弃时,突然看到 tanzaku,我这才恍然意识到,流阅读才是王道。