Categories
Technology

卫星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年)

Categories
Technology

ajax on devices

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

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

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

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

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

回复

– 评论人:张岭
  2006-03-30 23:25:10   张岭的博客  

PPC上的PIE对JavaScript的支持还比较弱,不过能支持部分ajax已经很不容易了。大部分device上的浏览器局限都很大。在桌面成功的应用,移植到设备上完全被重新洗牌。

– 评论人:peter
  2006-03-29 21:43:47   

我也从客户那里知道,他们真的很需要在移动设备上跑javascript,更远的自然是要跑ajax了。这个需求真的挺大的。强烈呼吁浏览器的标准统一起来。

Categories
Technology

警惕滥用客户端资源

近来发现新浪时事评论的访问经常出现浏览器休克、系统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.。

回复

– 评论人:boo
  2006-03-31 21:36:44   

只要是合理应用而不是掠夺性侵占就没问题。

– 评论人:pi1ot
  2006-03-31 14:07:21   

客户资源也是可用资源的一部分,一切事情揽到自己身上岂不是又回到了史前unix主机时代。

– 评论人:peter
  2006-03-29 21:53:02   

我觉得你完全可以申请这两个方面的课题,我觉得很可行,并且value很大。特别是第一个。ajax的安全问题肯定是它向前发展必须要过的砍。

1. Ajax vulnerability checker; 2. Grid computing interface for Ajax.。

– 评论人:yoyo
  2006-03-26 15:40:43   

哈哈,有意思,学到不少东西!第一次光临,以后会时刻关注!

– 评论人:yoyo
  2006-03-26 15:40:20   

哈哈,有意思,学到不少东西!第一次光临,以后会时刻关注!

Categories
Technology

如何区分Web 1.0和Web 2.0

How to tell the difference between Web 1.0 and Web 2.0

Web 1.0

- “Under construction” signs everywhere.

Web 2.0

- “BETA” signs everywhere.

哈哈,天才啊 。

回复

– 评论人:黄伟
  2006-06-04 19:57:15   

晕,真是天才!

Categories
Technology

OpenLaszlo摇身成为Web 2.0

OpenLaszlo已经宣称自己是“an open-source Ajax platform for creating powerful, cinematic Web applications… ”。Ajax的出现让OpenLaslzo找到了最适合的第二候选runtime(很可能会变成第一首选)。新版本的laszlo编译器将支持把.lzx文件编译成Flash或者是Ajax程序,两者保持统一的外观和用户体验。

http://labs.openlaszlo.org/lzpix-dhtml/是一个用来演示GUI建模到Ajax build的例子,很impressive。

也许业界对Flash runtime和格式的开放性失去了耐心,宁愿用更复杂的编程模型来争取一个自由的世界。

Categories
Technology

动态二进制分析

静态代码分析扫描源代码;静态二进制分析在不运行编译好的代码情况下,对这些二进制码或字节码进行解析;动态源代码分析在预编译时插入指令然后重新编译运行;动态二进制分析是在程序运行的时候,动态的分析程序在内存中的结构并加入特定指令进行程序监控和测试。

对于使用VM的字节码,动态分析一般由VM提供接口实现;而对native code来说,则需要更复杂的技术实现。

Valgrind就是一个动态二进制分析工具,提供对C/C++二进制码的运行时解析和检测。Valgrind的作者来自剑桥大学,并在2004年发表了博士论文”Dynamic Binary Analysis and Instrumentation“.

Categories
Technology

好榜样、坏榜样

就服务器稳定程度来说,blogchina算很糟糕的一个了:几乎每周有问题,要么访问速度慢,要么不能登录,要么一个帖子帖好几遍。我的感觉好像是用电脑城攒的PC机加上Beta版免费服务器软件的组合。

blogchina的IT人员应该不轻松,可能需要航天员在飞船里用的那种长长的棒子,随时坐在座位上遥按服务器Reset按钮。

好在我们有好的榜样,篱笆就是之一。这个定位于上海地区家庭装修、生活类论坛目前有注册用户40万人以上,总帖数1千7百万;服务器软件是Apache + PHP。我的印象里,这两年篱笆除了系统升级,几乎没遇到过访问困难或者网速极不正常的情况。我对篱笆网的IT充满敬意,如果有机会很想了解他们实施系统部署、负载均衡的方法。

除了系统之外,我也喜欢篱笆闷声挣钱的行事风格。Home Depot要在上海开店的话,应该把篱笆买下来。

回复

– 评论人:boo
  2006-03-27 23:16:40   

没有,的确是个问题。

– 评论人:venne
  2006-03-27 16:39:06   

忽然想到一个问题,你备份过blog吗?

Categories
Technology

开源在中国

看到CSDN上倪光南论述中国对开源社区贡献太少

我的观点是这太正常了。要让中国程序员对开源社区有贡献,第一紧要的就是让他们能挣到钱。整天为房价、水、电、煤、交通费发愁的开发者没空写什么开源软件。物质决定精神,只有广大的程序员买了房、讨了老婆,四金有了着落,再谈开源不迟。

规模化的参与开源软件,在中国,现在,没太大可能。

回复

– 评论人:peter
  2006-03-07 22:37:07   

找到一个好的开源运作模式,让开源也能赚钱。那么自然有人干。当然这不是治本的方法,关键还真的是要尊重知识产权,体现程序员价值。

– 评论人:Mira
  2006-03-06 14:38:08   

floyd 开始坚决支持布落格主人的言论了,西西.

计划经济下面价格和价值有任何关系么? 垄断经济下面价格和价值有任何关系么?可我们现在是市场经济哦.

关于floyd 所提的盗版之事,偶认为有一定道理,但是现在盗版都卖五块,绝对的正版还是价格卖十块甚至更高.

言归正转,偶只是想说,(这儿指程序员)做好自己的事情最终会实现你应该有的价值,是金子总会发光.我说的是真金,不是镀金哦:-)

张岭,支持一下哦,我说的有道理不?你是不是就是发光的一个粒子啊.

– 评论人:floyd
  2006-03-06 13:29:09   

价格决定于价值, 那是要以充分竞争的法制化市场为前提的, 计划经济下面价格和价值有任何关系么? 垄断经济下面价格和价值有任何关系么? 盗版盛行至此, 以至于连程序员自己都不以使用盗版为耻, 连软件企业都不以侵犯别人的知识产权为耻, 价格怎么能怎么体现软件的价值, 怎么能体现知识产权的价值? 更不要提程序员的价值了.

– 评论人:boo
  2006-03-03 20:37:43   

您这是来递归定义了,呵呵

– 评论人:Mira
  2006-03-03 10:16:26   

价格决定于价值,当程序员们的自身价值真正能达到五年买房,两年讨老婆的时候,自然会拿到相应的价格!

看到blogchina上张岭论述规模化的参与开源软件,在中国,现在,没太大可能:我的观点是这太正常了:)

Categories
Technology

送给架构师们的小礼物

每个软件架构师都想给自己的大作起一个超级响亮、玄妙的名字。为此,我用OpenLaszlo制作了一个工具专供起名之用。

使用方法:

1. 输入公司名,如“ABCSoft”;

2. 从命名词库中选择可用的名称前缀和后缀,如“Framework”常用作后缀,“Information”可作为前缀等。可以根据自己需要定制前、后缀单词列表(当然也可以让前、后缀为空)。注意:最终产品/解决方案名中只能包含一个前缀单词和一个后缀单词;

3. 在前缀和后缀之前就是可以自由组合的名称了。本程序将根据用户限制的名称长短,随即从列表中选择单词(不会重复),然后附加上公司名、前缀和后缀即告完成。

注:由于OpenLaszlo 3.1.1的bug,个别时候可能出现产品名称包含”null“的情况,请多次点击“Go!”按钮即可。

如浏览器无法显示,请下载:http://zhling.googlepages.com/naming.swf

回复

– 评论人:Yaling
  2006-03-01 13:09:39   

你一定靠它领了好多IBM纪念品。

Categories
Technology

.rm/.rmvb -> .avi

把Real的.rm和.rmvb格式转换成AVI格式,最好的工具应该是MEncoder。和著名的mp3编码器lame一样,MEncoder是一个没有用户界面的工具。在我目前能找到的图形接口中WinMEnc算是一个不错的GUI了;另外还有国产的WisMencoder。不过WisMencoder的界面设计实在可怕 – 相当的可怕 – 需要计算机专业硕士以上学位才会使用。

用WinMEnc转换Real格式的文件需较长的时间,一个180MB左右的电视剧大概耗时20分钟(我的PIII 800机器)。

回复

– 评论人:liu
  2006-03-25 18:50:04   

hao

Categories
Technology

Google免费主页

http://pages.google.com

花了1分钟做了个最简单的首页:http://zhling.googlepages.com/

回复

– 评论人:boo
  2006-02-26 10:12:24   

用FF的话就没有这个%20。八成Google tester都没用IE吧。呵呵

– 评论人:peter
  2006-02-25 12:43:27   

bug report: 点了你主页的链接,发现url后面多了个”20%”

http://zhangling.blogchina.com%20/

感觉这个page creator 更多的是展示google 在online word方面的实力.

Categories
Technology

Lotus Notes 7.0 IM Integration

昨天把Lotus Notes 6.0升级到到7.0。7.0最大的一个新功能是与即时通信工具Sametime的集成:可以在“收件箱”、“日程”等中看到参与人的在线状态,通过快捷菜单可以随时聊天,而聊天记录将会自动保存在notes邮件数据库中。

 Lotus Notes 7

蓝色的圆圈表示本人为唯一收件人;白色圆圈表示本人在CC列表中;一半蓝一半白表示本人在To列表中,而CC列表还有其他人。

此贴为炫耀贴,准备好了被outlook用户拍砖。

Categories
Technology

删除Windows Live Messenger共享文件夹

装了WLM,不喜欢共享文件夹,在WLM配置中禁用共享文件夹后,找到如下方法顺利把它从资源管理器中删除:

regsvr32 -u C:\PROGRA~1\MSNMES~1\fsshext.dll

之前我已经用这个来自台湾的工具成功剔除WLM主窗口下面的广告区域:http://www.csie.ntu.edu.tw/~piaip/msn/

Live Messenger花头再多的话,就要召唤soff写珊瑚虫版的WLM了。

Categories
Technology

当兴趣变成使命

Google中国员工的blog -“黑板报”发布了。今天一个贴子里有这样一句话“比如开复最近读了什么新书,韶宁觉得《金刚》好不好看,或者我们的工程师又突发奇想发明了什么好玩的游戏”。给我的感觉是一个其乐融融的大家庭为了全人类的正义事业充满激情的工作着。

我一直承认Google是家伟大的公司,它正拥有伟大的产品和最优秀的工程师。我怀疑的是被极度宣扬的浪漫主义工程师文化与使命,一个不仅受Google还受投资人影响的和谐关系。

一个人也许很爱看电影并乐此不疲。如果让他把看电影当成一个职业,并要求每周写三篇影评呢?“突发奇想”是不是Google的使命呢,可能;让它变成从早上9点到下午6点的mission呢,maybe;把它作为绩效考核的指标呢,oh…

我愿意用三个字评论今天这两条首发的blog,那就是 -“炫耀贴”。也许我太苛刻了吧。

回复

– 评论人:boo
  2006-02-21 21:54:26   

做的很好,很精致。

– 评论人:liuyan
  2006-02-20 16:23:26   

同意,工作是不浪漫的事。追求浪漫的人可以看看http://www.dayong.name/europe/index.html

Categories
Technology

编程利器

我现在用的Lenovo T43笔记本电脑的1400*1050 FlexView液晶显示器给我带来了很大的快乐,尤其在写程序的时候,在Eclipse上工作的时候code assist的提示似乎可以一直”.”下去不换行,舒服的要命。

下面是项目经理要看的了:除了薪水,程序员们最想要的是什么?最新型号的计算机、高速局域网和无限制的Internet访问、用不完的服务器磁盘、高分辨率大屏幕显示器、舒服的靠椅、免费的饮料和T恤衫、随时可以使用的会议室和投影仪。这说简单也简单,说难也难。

回复

– 评论人:colin
  2006-02-21 22:17:19   

同意啊,呵呵,这样的环境不错,我就觉得显示器小了点,或者说是分辨率不够。

Categories
Technology

流量计费

大概在2002年前,教育科研网(CERNET)下属的高校和科研院所的网络是区分国内和国外IP的。对方服务器是国内IP的,流量不限,全免费;国外IP的则根据流量计费。大部分学校是通过把各个办公室、实验室电脑的网卡MAC地址与主机IP地址绑定,在网络中心实现基于IP的计费。以前上海交大计算机系一个实验室,因为学生在一台可以“出国”的机器上看视频,一个月的网费花了8000多。我所在的实验室的服务器是没有“出国”权限的,大家用WinRoute+代理透明访问。因为代理好找,用起来也很舒服。正是因为教育科研网的IP流量计费问题,才有了微软在教育网内搭建微软新闻组镜像的事情。

大约在03年左右,上海交大成为全国第一所免费开放国外IP访问权的高校,所有没有被封的网站,无论国内外一律免费。既便是清华TUNET,这个号称2个CCIE都没能搞定的全国高校第一大网,现在也仍是在用一些客户端软件实现网络资源管理和计费。

2004年,Google IP地址被加入到CERNET免费IP地址列表。(当年高校毕业论文质量应该有显著变化)

近来电信网络接入商好像也用用这招了,用流量计费。我深刻体验到这种计费方式的厉害:下载东西算流量,提供内容让别人当也要交,上下家通吃;什么代理都没用,因为它计算端到端的流量。

SMG的基于PPLive的网络电视SMGPP,这个流量帐怎么和电信算?理论上,电信对流量收费一定有可调整参数在里面,比如对某些IP段或域名免费(如SMG),对某种类型的数据包免费(如HTTP),在某个时间段免费(给网民朋友们放个风)…

总之:

回复

– 评论人:peter
  2006-02-11 23:36:34   

范伟的这张图片在这里特别贴切:)

希望这一天迟点到来吧

Categories
Technology

Borland卖身

很多人在论坛上讨论Borland IDE的新买家,21世纪才冒出来的.NET和Eclipse把这么强的公司避到了卖身的地步。

Borland一直就是出优秀程序员的地方,也是被挖墙角最多的。现在时代轮回到Borland变卖而微软开始被挖墙角了。

想买Borland IDE的会是什么样的公司?Borland同时有支持.NET和Java两大阵营的产品,能吃下它的也该是个不小的公司 -微软不会,Google不会,IBM不会(仅代表个人观点),Oracle不会,Sun不会,BEA不会;Compuware好像挺合适;Intel呢,说不清楚,似乎也很合适-整合自己的compiler,对X86上的NET和Java进行优化,并提供Mac和Linux(Kylix IDE)平台上的开发工具;SyBase,好像也还行-整合PowerDesigner和PB。

觉得Intel出手,比较make sense。

Categories
Technology

榔头和框架

和我一样吃“软”饭的人看了都会会心一笑的,回帖的估计一大半是搞J2EE的。Booch还把它link在自己网站的首页。

Why I Hate Frameworks

Categories
Technology

Open AJAX

IBM spearheads AJAX tools at Eclipse

IBM向Eclipse提交了名为Open AJAX项目,并将贡献部分代码。Open AJAX会并入Eclipse WTP子项目中。

回复

– 评论人:peter
  2006-02-05 22:08:26   

Good news.关注!

Categories
Technology

技术梦

昨晚做了一个梦,很有意思,梦到自己和一帮人劫持了运送Sametime 7.5测试版光盘的飞机。还记得光盘的容量是800多兆,包括Sametime Client和Server。安装的时候需要输入产品注册码,每张光盘配了一个密码锁一样的东西,可以拨动转轮生成注册码。每个转轮对应一个参数,我还能记得一个参数是光盘销售的超市名。

梦的来源应该是白天读到的Lotusphere 2006上IBM发布的Sametime 7.5企业即时通信软件,它能和Yahoo/AOL还有Google Talk互通,支持VOIP和e-Meeting。自己也没想到印象有这么深,制造了这么一个怪梦。

下面是贴在http://www.edbrill.com/ebrill/edbrill.nsf/dx/st75shots.html上几个Sametime 7.5的截屏(7.5是基于Eclipse RCP的Java应用)。

回复

– 评论人:张岭
  2006-01-26 23:09:50   张岭的博客  

的确是,至少带上一个20多M的JRE,加10几兆的Eclipse Core,外围runtime libary估计在40MB上下。不能利用OS native libary的应用都有这个问题。我现在用Gaim,也需要带一个不小的GTK+图形库。

– 评论人:terry
  2006-01-26 22:54:55   

一个rcp的运行环境就比原先的sametime大很多了,更不用说和gtalk相比了。这样下去将来很可能会弄出一个几百兆的samtime。