每周一坨:挑战你的承受力

周日跟公司爬八大处去了。八大处就是八个出家的好去处,有寺有庵,有热有冷,有山上有山下,足以满足大多数人的出家需求了。不过要去恐怕不是很容易,因为八大处的香火大多很盛,算是京城佛教产业的大头了,一般只要做到行业龙头,职位就奇货可居。我发现每一处的工作人员,说得最多的话就是希望游客请香,说得第二多的话是不准游客自带香烛。我愚昧,我不通佛法,我想,请香这种行为之所以作为善举,大约是因为所花的钱会用到弘扬佛法修缮寺院的事业上,从而普渡众生。而佛作为超越的存在,当不会在意世俗财物,在意的应该是燃香这一过程中与信众进行的精神交流,那么在哪里买的香,又有什么关系泥? 接下来请欣赏羽泉的三首歌,其中莫名出现的黄征同学是由黄力同学友情客串,在此表示虚伪的感谢,其他两位唱将大家已经非常熟悉了在此就不介绍了。 多听音乐有很多好处。听完后请自行总结。

Can SilverLight Beat Flash?

昨天,微软的SilverLight发布了。这个完全被设计用来抢占Flash的RIA应用市场的技术,确实是flash的一个强大的竞争对手。这么长时间以来,MS终于搞了一项振奋人心的web技术。这是一个强大的诱人的开发平台,在RIA领域,它的一些惊人的优势对flash来说绝对是致命的。 与AJAX结合紧密:flash也需要与js通信,才能完成很多DOM/BOM相关操作,在Flash8以后专门提供了这方面的功能。但是SilverLight本身逻辑级别的功能就是在js中完成的,无疑它更方便和AJAX技术有效整合。 容易动态生成:SilverLight完全使用xml和js来描述,用自己熟悉的任何一门web动态语言很容易就可以生成,相比之下,flash虽然有对应的技术Flex,而且开发华丽的效果相对容易,但是成本太高,无论学习成本和昂贵的授权费用,都形成很高的门槛。 对搜索引擎友好:由于flash采用二进制文件发布,搜索引擎不能正常索引,新版本中虽然可以通过元数据获取信息,但是也比较麻烦。这是困扰flash整站以及Flex站点的千古问题。SilverLight以源文件形式部署,天然提供了被搜索引擎索引的可能性,简直就是针对flash弱点的精确制导打击。 SilverLight设计层面的工具是微软的Expression Studio(当然也可以用任何一个文本编辑器,只要能应付极其冗长的矢量图形代码)。我虽然没用过,但是如果假设它现在远赶不上Flash & Illustrator CS3,我认为这样的假设完全是合理的。不过它的开发层面使用Visual Studio,这也许就一下子站在了Adobe的前面。 SilverLight既然跟win是一家人,恐怕不会很快推出跨平台的方案,但是在跨浏览器方面SilverLight很容易实现。只需要安装一个1M多点的包,就可以实现跨浏览器支持。虽然现在它的安装量不大,肯定超不过flash plugin,但是MS一旦把它捆绑进系统更新,那一天绝对是Adobe的噩梦。着眼于富应用的web开发者是不是可以开始学新技术了?Flash到时候会被打倒还是脱层皮?真是超英赶美没完没了。

User Script for GreaseMonkey of Firefox

昨天写了一个GreaseMonkey的脚本,用于在学校网关自动登录。本来设想用httpRequest在后台模拟交互,但是网关系统的设计实在是缺乏考虑,逻辑混乱,不要说用户体验,就是基本的功能都bug百出,简直令人发指。最可恶的地方在于需要post一个中文的参数过去才能登录,这个一直没法通过MG实现,总是会变成乱码。无奈只有采取载入原页面再加以hack的方法实现。 GreaseMonkey可以在指定的页面执行user script,这对于像我这种洁癖+强迫症无疑是必备毒药,因为现在意味着你可以修改任何不好看或者不方便的页面,甚至完全重写。上述脚本中我就重写了“错误:本IP已经连线”的页面(完全不需要的愚蠢页面),改成了自己写的控制面板。 写user script是很有趣的工作,因为不仅需要写javascript,而且需要写html和css,设计界面效果,页面元素还可能与js形成模板化结合,web开发的几个层面都用到了。script的load顺序又很关键,定义早了可能白load,定义晚了又没法让前面调用。不同页面,不同阶段的副本要依靠全局状态做不同的处理,这一点又很像并行程序设计。所有这些要整合在一个js里面,连图片都要用URI格式嵌入在代码里,一切必须设计得极尽精简和谐。一个漂亮的user script,的确是种艺术。 Firefox扩展所展现的空间更加诱人,也需要更为复杂的脚本来实现,涉及到XUL、RDF、XPCOM等一系列XML技术。因为它是以浏览器即时解释的源文件形式存在的,也就天然的开源了。抛开Firefox安全、高效和对标准友好的优点不谈,正是这种自由软件的精神,良好的自定扩展能力,人人容易参与的开发形式,才造就了Firefox本身的强大能力,以及对高阶用户的极大诱惑力。 下载LoginBNU v0.1+greasemonkey0.6.7(ps:我这不是艺术)

两个扩展,前端利器

介绍两个做网页开发的杀手级辅助扩展。 Web developer,可以修改和挂载css,修改html并即时更新页面,查看内部外部的js,查看div等元素的位置、样式、属性、顺序,以及其他的无数信息,进行各种标准验证,还可以对当前的表单、DOM、甚至cookie做出惊人变态的修改。能力超强绝对堪称killer app! 点击下载由su27汉化的web developer1.1.3(ps:做完汉化后才发现已经有人做过了,呜呼) Firebug, 可以开启一个强大的编辑面板对html、css、javaScript、DOM进行编辑,堪称FireFox中的Dreamweaver!还可以分析页面下载过程中各个部分的加载顺序和时间,对js进行方便的debug,仲可以随鼠标在页面元素与代码、样式之间跟踪对应,绝对是扩展中的神作,开发人员的绝对凶器! 点击下载firebug1.01汉化版

用二级域名绑定feed托管

今天看了月光博客的一篇blog,深切感到要输出feed给读者,应该使用自己有能力控制的URL。正常说来,使用托管feed的一个重要原因,就是当更换feed地址的时候,能够做到feed的输出与订阅者的获取都能够做到无缝切换,前提是托管站点足够强壮和值得信任。然而在中国,由于有GFW保护我们免受不和谐信息的危害,所以有一个副作用就是包括Google在内的所有网站的可靠性都脆弱得不堪一击。一旦有一天feedburner也被和谐了,通过fb订阅我的读者都会一次性消失掉。 另一个原因是托管站点也可能会被用户更换掉,即使是现在如日中天的fb,也难保能够后无来者。如果有网站能提供更好的服务——比如Google如果将来也开始为广大群众烧feed,并且与Analytics、siteMap、Adsense等工具相整合的话——我是说如果发生了这么可怕的事情,即使fb的黏性超强,搬家的成本再高,可能愿意付出这个成本的人也不少。何况fb偶尔还有一些问题(fs就报告说用某些订阅器收到的是乱码),而且高级的功能还需要交费。 开头提到的文章中讲了如何通过DNS解析,将feed.yousite.com映射到fb/FeedSky,但是在fb中这个功能是要收费的。我试了一下,不通过解析,而是只将feed.su27.org转发到我在fb的feed地址,在订阅上也没发现有什么问题,google reader可以直接加这个地址,FireFox也会自动作为feed处理。但其他订阅器还没有测试,不知道行不行。