Ling Zhang Ling Zhang's Blog

好剧推荐

等不及上海“新闻频道”每晚11点半《沉默的证人》最后三集,晚上在电脑上看完了周末下载的最后三集。一个多礼拜每天晚上看到1点钟,总算能好好休息一下了。

国产电视剧去年也是有几个好剧的,比如《坐庄》和《不在犯罪现场》。和今年的《沉默的证人》一样,这三部剧我都是在上海新闻频道深夜剧场看的,很辛苦。

《沉默》是一部三好电视剧:剧本好、导演好、演员好。《沉默》和《不在犯罪现场》这两部剧应该代表了中国刑侦题材的新潮流,正如《新龙门客栈》对新派武侠电影的启蒙一样。

PS:搜索后发现《沉默》早在2004年就放出。孤陋寡闻了。

Read more

无语义备份

听从他人建议,把自己的博客文章备份了一下。我用的是最原始的方法:网站下载。使用免费的WinHTTrack,运行、设置起始页面,然后下载该站点下所有文件。半个小时不到,全部300篇文章连同站内图片,以及文章link中的部分资源都下载下来。打个包,搞定。

这就是“无语义备份”:所有备份下来的东西,在未来很难被重新恢复到其他系统中,因为所有的数据都是完全等同的,是死数据。

大部分博客网站都提供了Blogger API可以上传、下载文章,如mvm在MSN Spaces上所作,Blogchina也有类似的XML-RPC API。

我的大部分数码照片刻录到DVD上时也采用同一套路:绝大部分照片都保留原始文件名,什么"DSC0002.JPG",根据日期/事件创建目录名然后存储之。

无语义备份基本上和“print screen”拷贝屏幕一样,你得到了你想要的,但对这些内容却干不了什么事儿。

Read more

10佳Eclipse plugin & RCP应用

在EclipseCon 2006上,有一个主题介绍叫做“Top ten great, strange or weird open source plug-ins and RCP”它列举出10个最佳Eclipse plugin & RCP程序,分别是:

10. regatta workbench - http://rowtown.org/regattaworkbench/

9.  Xray a profiler for eclipse plugins - http://eclipsefaq.org/chris/xray/index.html

8. Rsswol: your next rss reader - http://rssowl.org

7. jfire: run your business on Eclipse - http://jfire.org/

6. abbot: test your UI like SAP, Rational and BEA do it! - http://sourceforge.net/projects/abbot

5. amateras: xml, struts, html, jsf, uml, wtp for resin, hsqldb - http://amateras.sourceforge.jp/

4. MYLAR: Jazz Up your Eclipse now! - http://www.eclipse.org/mylar/

3. Incredible UI goodies - http://andrei.gmxhome.de/anyedit/, https://eclipseutilplugins.dev.java.net/

2. azureus: the best bittorrent client, a great SWT UI - http://azureus.sourceforge.net/

1. open source mashup: eZing Builder - http://sourceforge.net/projects/ezingbuilder, http://www.fckeditor.net/

Read more

船长青年旅舍

在789路公交崂山路站旁新开了家船长青年旅舍,今天下车后到里面转了一圈,买了一个船长pizza。虽说是青年旅舍,船长的价格也不是传说中那么便宜:标间450元;豪华单人220元;普通单人120元,最便宜的60块,应该是多人共享的那种。

船长青年旅舍门口的西式快餐店有十几种pizza,都是9寸庄,价格从25块到40块不等。总体来说,味道一般,和巴贝拉一个档次,价格高出5元左右。

自打上个周末亲手做过pizza后,发现pizza里最贵的原材料是cheese,其他的蔬菜、肉、面都不贵。从沃尔玛买的马苏里拉cheese,用去了不少(另外还加个三块光明薄cheese)。和国产比萨饼 - 土家烧饼相比,成本确实高了不少,但不至于动不动就二、三十块。这个价格八成都是从最早进入中国的pizza店沿袭下来的。现在连蓝村路上的pizza也要35块一张,贵的要命。

04年的时候在34街帝国大厦附近的繁华地段吃过一次必胜客,店面极其简单,和上海的生煎店差不多(很像小乐惠),7块钱吃了个饱。

</p>

Read more

卫星DLL

在Dr.International所著Developing International Software一书中,对Windows应用程序本地化推荐使用多资源文件的卫星DLL方式。所有应用程序资源,包括图标、位图、对话框、字符串、菜单等都编译成动态链接库并为每种语言生成一个这样的DLL文件。而主应用程序中只保留的逻辑部分代码。

对于Java应用来说,文本字符串资源文件一般为.properties, .XML;位图、图标等可以打包成.jar文件。程序对话框、菜单则往往和Java代码耦合在一起。Java的处理方式对于本地化要容易一些因为翻译只需要直接编辑这些文本文件或替换图像文件即可。

考虑到Windows的资源DLL因为是二进制无法直接操作。最直接的方法是打开Visual Studio用Resource Editor进行翻译,然后Build:显然是一个很昂贵的解决方案。

另外就是Microsoft Localization Toolset (ftp://ftp.microsoft.com/softlib/mslfiles/rltools.exe) 。它可以直接打开EXE, DLL或者RES文件,通过GUI界面对DLL内部的字符串进行翻译。在完成后可以自动把翻译好的内容生成新版本DLL。这样,对于本地化工程师来说,学会使用这个工具足够完成翻译的任务了。

不过MLT的设计很笨拙:一个项目文件包一个项目文件;project文件中hard code项目路径;生成文件的扩展名有3、4种。最让人吃惊的是其帮助文件中的截屏居然是Windows 3.1时代的。(MLT最后发布日期应该是1996年)

<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"></span>

Read more

自制比萨

在家中烤箱闲置约1年后,今日终有所成,参考论坛帖子研发出自主知识产权的比萨。

步骤1:和面:面粉、水、牛奶、糖、盐和干酵母。和好后“醒”一个小时,然后摊好面饼放入比萨盘并刷上番茄酱;

步骤2:“浇头”包括火腿肠、蘑菇、青椒、洋葱和西红柿,放入少量奶酪。

步骤3:烤箱预热10分钟后放入烤盘,烤15分钟后取出放入奶酪丝,再加热5分钟取出。

比萨出炉

上桌

Read more

上海交大ACM队上新闻联播

下班在789路车上正好看到新闻联播放上海交大ACM队,还没播完车就进了复兴路隧道 -没信号了。

前两年ACM队的训练实验室貌似在教三3楼,我进去晃过一次,没发现什么特别的 -应该是除了人都不特别。

电视里面隐约看到他们编程好像用的是ultraedit,不敢确定。也许高手们用plain text editor + shell command是效率最高的了。

Read more

ajax on devices

似乎已经有很多人考虑ajax在移动设备上的支持问题了。IEMobile team宣称在PPC 2003中可以支持ajax应用。Firefox在移动设备上显然比桌面上的表现逊色的多,Minimo一拖再拖。

在移动设备上,Opera取代了Firefox成为最好的浏览器之一。而且,mobile opera支持ajax

在客户端盛行的时代,写一个可以普遍适用的Web程序变得复杂异常:要研究每种流行浏览器支持什么HTML/JavaScript标准、什么插件可用、在多种设备上对各个标准的支持情况:

组合 = HTML标准 × JavaScript标准 × AJAX支持 × 移动设备 × IUnknown。

很需要一个自动分析工具,检测(建议)代码的适用性,减轻开发负担。

Read more

警惕滥用客户端资源

近来发现新浪时事评论的访问经常出现浏览器休克、系统CPU大量占用的情况。为此我对新浪用户评论系统的客户端代码稍加研究并找到了导致性能下降的原因:Ajax代码过度使用了本地计算资源。

新浪用户评论使用了一个JavaScript文件(http://comment4.news.sina.com.cn/comment/cmnt_xml.js),里面封装了所有通过XML与服务器通信的代码,此段代码在客户端运行,透明的和服务器交互,下载并分析评论记录。

和Flash, Applet和ActiveX相比,写一段拥有同样计算能力的代码,基于脚本的JavaScript会更容易,并且最不容易被用户发现,偷偷的在用户的浏览器中运行。

可以想象一个热门的博客作者,正企图用穷举法破解某一密码。那么他可以用JavaScript写一段ajax代码,嵌在博客页面里,所有该博客读者在阅读文章的时候会不自觉的成为该作者破解密码的计算节点。计算的中间结果可以保存在浏览器cookie中,在下次访问的时候继续工作。

似乎有两件工作可以考虑了:1. Ajax vulnerability checker; 2. Grid computing interface for Ajax.。

</p>

Read more