Categories
Technology

给Laszlo的五条建议

Laszlo
有关rich internet
application的技术,在server端把用XML和Javascript描述UI编译成Flash的SWF格式。浏览器通过访问Flash实现
与服务器的交互。她可以看作是Flex的open source实现,只不过在UI描述语法上和Flex有一定差别。

附:五条建议

Categories
Technology

假银行网站,篡改DNS怎么样?

新浪上一则新闻报道一个假的工行网站,icbc.com.cn被模拟成1cbc.com.cn,盗取用户名和密码。另外现在还有假的银行email通知,用HTML写成,可以直接在里面的form输入信用卡信息。这些伎俩稍微警惕一点都能避免。

但万一是被病毒窜改了DNS怎么办,hosts文件里面把银行的网站重定向到恶意非法站点,从浏览器的地址栏里一点也分辩不出来,这的确很危险。以前有病
毒把Microsoft Windows update和Norton的网站DNS改成127.0.0.1,导致无法更新补丁和病毒库。

这年头,不懂高科技连做坏人都难。

回复


– 评论人:Floyd


Fri Dec 17 11:33:38 CST 2004 

那天在公车上看到这个新闻, 就想到这一点.

不过问题在于, 即使是”1″代替”l”这样简单的伎俩, 我相信还是会有人上当. 归根结底, 犯错误的是人. 我记得有个以发垃圾邮件谋生的人说, 只要把广告做到全世界, 总会有足够多的傻瓜上当. 此君日(月?)发千万封垃圾, 月收入几万$.
简单的诈骗手段, 只要尝试的次数够多, 还是能够得手的.

Categories
Technology

有钱赚不了:日传送90G数据,怎么做?

在mop上看到一个帖子(日本客户的变态要求),一家日本公司委托楼主所在公司进行图像处理业务,提出的要求是保证每天通过网络在上海-日本之间传送90G的数据,如果能满足这个条件就签单。

这个要求一点不变态,能提出这个要求本身的水平就很高,没有这些高端的demand,网络也不会发展的这么快。现在让我们来算算需要多少带宽:

设每天用于传输数据的时间为12小时,剩下的为数据加工时间。90G的数据在12小时内完成,需要的带宽为2.08MB/s。在一个100M的局域网中,
机器之间文件拷贝的实际速率大致为5MB/s;如果是10M以太网的话,速率大致为1MB/s。这样一算,2.08MB/s的速度要求在目前国内的
Internet带宽条件下(未使用电信的专线租赁业务),用普通的FTP单点传输肯定不行。根据本人实际使用512K中国电信ADSL宽带的经验来看,
从国外站点拉文件的速度大概在100-300K之间,如果用10个线程拉(升级ADSL服务),理论上可以获得1M-3M的带宽,但考虑到对方本身带宽限
制,一般说来每个线程所获得的带宽将大幅度降低,总的结果来说是比300K要高,但不可能线性增长,能到800K就很不错了。实际上点到点800K的速
度,很少能通过ADSL,Cable达到。以前在教育网,从学校FTP下DVDRip,一部700MB的电影平均要20分钟左右;在实验室刻盘,从装
CDRW的机器上用FTP下自己本地的ISO文件,速度也就在1MB左右。

既然单点不行,可以考虑用多台机器,比如10-15台机器,每台都申请安装了电信的512K ADSL,日方连接在Internet上的机器也需配置多台,保证网络条件至少和国内相当。这样一来,每个月的宽带费用约1500块,一次性购机费60000块,生意就能开张了。

刚看到这个题目,我的第一反应是FedEx,每天传10张DVD(D9),一个包裹就够了,公司每天用于处理数据的时间也仅限于拷贝和刻录DVD文件。
(避免因ADSL长时间高流量遭到电信处罚)。这个办法成本比较高,一个包裹到日本估计要300-400人民币。不过对于公司经营来说,能保质保量的完成
数据传输,这些支出都是很合理的,不可能总是空手套白狼,该掏钱的时候就得掏呀。

真正的海量传输,飞机的带宽比光纤高。

Categories
Technology

Skype:VoIP老树开新花

VoIP这颗老树,在Skype的手里最终开了新花。现在到处都可以看到讨论Skype的文章;在国内Tom和Skype合作推出了国内版语音聊天工具;近期的《财富》里刊登了一片Skype的专访。Skype为什么这么红,我的看法是skype把简单的事情变得简单。谁都会打电话,这是个简单的事情;但用电脑和网络语音聊天就不这么简单了。从电脑到电脑、电脑到座机的语音方案很多年以前早就有了;近几年的工作则是是把VoIP集成到IM中、SIP化的VoIP等。

国外的MSN、国内的QQ都是支持语音功能的,我自己也都用过。QQ总体来说不错,语音质量和可用行都有相当水准;MSN很好用,可惜质量不佳,更重要的
问题是MSN语音穿越防火墙能力太差。想想MS每年在多媒体研究的丰厚成果,MSN做成这个样子实在不应该。倒是MSR的一个小demo,Microsoft Portrait名声很响,不晓得为什么没把这个技术加到产品中去。

在我尝试了Skype后,才知道都是VoIP”可这差距怎么就这么大捏”?Skype的声音质量实在太好了,在正常网速下没有任何延迟,对噪音的过滤特别
的优秀。双方能清楚的听到对方说话的声音,而周围的杂音等被非常有效的衰减,这是给我最深的印象。语音聊天和视频不同,人对延迟的反应特别敏感,晚了几秒
钟,双方对话几乎就无法进行下去了,Skype成功的解决了这个问题。

技术上Skype使用了P2P的对等技术用来中继语音数据,这也是大家对它安全性的一个担心。目前它用了工业级别的加密算法对语音信号进行加密传输。Skype同样支持电脑到座机的语音服务,不过需要支付一定费用。

Skype的贡献在于不仅使用了新技术,而且让新技术简单易用,为民所用。与VoIP类似的东西还有很多,不少都和VoIP一样,是”high school s.e.x”:大家都在谈论,可尝试的人少,而尝试过的人基本上都是错的。Skype这样的产品,越多越好。

Categories
Technology

最新Google实验室招聘测试题

我在今年10月份的CACM上看到夹在里面的一份Google实验室招聘测试题,称为”GLAT(Google Labs Aptitude Test)”,一共三页。个人感觉这份题目的含金量非常高,超过了通常在网上见到的某些著名公司的智力测试题。

Google Blog有份扫描版本的试题,有兴趣的话来试试:

封面:
封面

卷一:
卷一

卷二:
卷二

卷三:
卷三

Categories
Technology

《计算机工程》-中国的IEEE Computer/IC/CACM

今天想到这个话题,是看到了水木上有人问《计算机工程》和《计算机工程与应用》哪个审稿周期短。结合自己经历,顺便聊聊国内计算机期刊。

《计算机工程》,一本由华东计算所编撰的计算机专业期刊,发表国内各类有关计算机科研和工程最新进展的论文,其主要投稿者人主要来自高校的研究生和教师。

在国内的计算机权威期刊中,《工程》的排名并不高,远在《Journal of Computer Science and Technology 》,《软件学报》,《计算机学报》和《计算机研究与发展》四大学术刊物之后,且进前十名的可能性都不大。这样一本期刊,何以被冠以中国的IEEE Computer、IEEE Internet Computing和Communication of ACM?

行内人都知道,IEEE Computer、IEEE Internet Computing和Communication of
ACM是以其高质量的综述类论文而著称,其专稿人一般为各自研究领域的权威和专家。上面发表的大部分文章并没有太多的理论研究和公式推导(理论研究部分会
投稿至相应研究领域的transaction和Journal上),因此可读性非常强(文章的sidebar部分提供了非常好的入门和辅助阅读材料)。透
过这些刊物,基本上可以把握当今最新的计算机领域学术脉搏,是综合类计算机学术领域的最佳读物。

再说说《工程》。绝大多数在计算机专业就读的研究生们都清楚,《工程》是解决在校研究生论文发表要求的重要渠道,原因有三:

1. 《工程》属于国内认定的核心刊物;

2. 审稿期短。一般来说投稿后2-3个月就会有答复。和四大相比,审稿周期短对于有毕业时限的学生特别重要;

3. 版面超大。《工程》是半月刊,而且每刊文章数量多,一本装订好的《工程》放在书堆里一眼就能发现。文章多,投稿中标率就高。

对于研究生和教师来说,撰写的论文一般包括研究类和综述类两种,研究类的论文质量一般高于综述类,所以不舍得投以综述类为主的《工程》。这类文章的目标往
往是四大,因为在四大上发表对于投稿人来说其意义远大于《工程》。对于那些质量一般,甚至是有部分抄袭的综述类文章(包括一些以实现为主的工程类文章)就
会选择《工程》。大部分在校研究生,尤其是硕士研究生往往会瞄准《工程》这个捷径,以达到学校对发表论文的要求。

因此,构成《工程》主流文章的论文包括:某个研究方向的研究综述、某个研究方向国内研究综述、某研究领域的现状和展望、新技术介绍、工程型(项目)的设计
和实现、某技术在某行业内的应用、部分被四大退稿的理论型稿件。
虽然这些文章的创新性和理论性不强,但它们都是基于国外最新研究和技术趋势的中文版拼盘,和国内具体行业项目中的应用,对快速了解理论研究进展和行业动态有很大帮助。另外,与四大相比,《工程》上的
文章都比较实在。四大虽然名气响,但如果仔细研究的话其论文质量不一定高到哪里去,部分所谓创新和发现都是很牵强的,以在别人的工作上打”补丁”为主。举
个例子,从北京到上海,可以使用的交通工具包括飞机、火车和汽车。四大就会出现这样的文章:创新的提出了以自行车作为新交通工具。国内教育科研领
域存在的问题,可以从这些学术期刊中找到印证和线索。

我推荐那些已经离开学术圈,在工业界工作的计算机行业从业者(如我本人),定期的读一读《工程》,对于保持对学术研究、科技新知的敏感性,了解行业动态很有益处。

Categories
Technology

Google Desktop search

Google继推出短信搜索后,今天推出了桌面搜索工具。我几个月前读过MSR的一篇文章,介绍了微软的”Stuff I've even seen“工具,功能上也是索引用户曾经打开和浏览过的文件和网页,提供搜索服务。Google目前支持的文件不太多,还不具备完全取代Windows Search的能力。

讲到Windows
XP的search又有话说了。XP下的search实在是不好用,早先支持所有扩展名的查找功能现在被限制到特定的扩展名上。大部分不了解的用户找不到
指定的文件以为文件不存在,害人不浅啊。比如我曾经搜索.java文件中出现的词就没有找到,实际上的确出现在java'文件中。这以后我就常常使用
ultraedit的search功能了。

Google的desktop search里面包含了一个mini的web
server,用127.0.0.1访问。我在想如果用另外一台机器访问安装了google desktop
search的机器的IP地址会不会找到对方的文件。呵呵,我想我是多虑了,虽然没试过,但Google这点安全性的sense还是有的。

Categories
Technology

卸载了RSSOWL

在卸载并安装Thunderbird前,我一直用RSSOWL看rss
新闻和blog。我曾经尝试过newscrawler,但因为是商业软件不久就卸载了;后来用的是基于.NET的free
newsreader,这个功能一般;然后就想找一个open
source基于Java的reader,发现rssowl不错,而且一直保持稳定的更新频率,到现在的版本已经用了Eclipse的RCP实现了。然而
RSSOWL的速度比较慢,尤其是在解析文档的时候。洪波在donews上的那个blog每次都要解析很长的时间,期间如果点鼠标的话菜单栏就变全百了
(Eclipse标签式响应)。

因为不久前装了新版本的Firefox,觉得非常好用(以前从的是Mozilla
1.7.3,没想到单独剥出的Firefox和Mozilla的区别这么大)。这诱使我去下载了Thunderbird
0.8,应该说我对RSS阅读器的基本要求Thunderbird都具备了,界面很舒服,速度也快,Thunderbird的易用性已经超过了
Outlook Express。

别了,猫头鹰。

Categories
Technology

比尔盖茨说的好

Bill前不久在美国一个大学发表讲话,谈了软件外包、技术移民等问题。印象最深的是这么一段:现在软件编程的水平还很低,几分钟就能将清楚的逻辑实现起来还很费力。

真的是太赞同这句话了。我又要拿eclipse说事儿了。比如我要开发一个plugin,当用户右键单击扩展名为.java的文件时,上下文菜单多出一项,点击改菜单项弹出一个对话框。要实现这样的功能,实际eclipse已经很简化了,即使这样,不仅要写plugin的XML配置文件,还要完成上下文菜单的扩展action合其实现类并激活一个窗口。几十个字的逻辑最后实现起来可能要半天甚至一天(如果不熟的话)。

可想想看,如果软件开发变的非常容易实现,任何人10几分钟就能开发出一个calc或者notepad,谁也不干程序员了。大家都知道VB方便,功能也很强,可偏偏都要去搞J2EE,为啥,因为难、抽象、含金量高。DBA怕的不是数据库难管理,而且太容易管理。谁相信软件广告里坐在椅子上翘着二郎腿的IT白领呢?真到了这一天,怕是哭也哭不出来了。

Categories
Technology

refactor的粒度

我现在正在做一个refactor的项目。其实我自己并不怎么用eclipse的refactor,因为怕被re后的代码自己又要去重新理解。所有人都喜欢自己能够理解的东西,即使这个东西不怎么样。refactor要做的就是把一个被公认不高的代码转换成质量高的代码。我在想的一个问题是:refactor的粒度如何设定?

现在eclipse上的refactor工具基本上还比较简单,如更改类名、变量名、方法抽取等,经它们更改后的代码都比较容易理解,因为没有结构和设计上的改动,refactor做的事仅仅事帮助你自动的完成相关部分的更新(比如更改一个类名后其它代码中引用改类的地方要相应修改)。

目前有人在研究更深层次的问题,就是代码结构和设计的修改,意在把bad code经refactor转换成符合design pattern的新代码。先不说技术上如何实现,想想一个刚出道的程序员,一共写了10了类,50个方法,经这个工具一转成了15个类,70个方法,而且还都符合design pattern。这样的代码让这个程序员怎么理解?如此一来,新手哪里敢用?结构再好、再完善的东西,不能理解也白搭,最终还是要这个初级程序员完成编程工作,而他无法在自己不能理解的代码上工作。

我想,现在refactor的工具还是会侧重于局部代码的修葺,能促使大家都能主动使用这样的功能已经是很了不起了。

Categories
Technology

GMail界面响应速度为什么这么快

Gmail的JavaScript用的相当多,用的也很好。整个JavaScript函数的大小在150K左右,在IE的cache文件夹里可以找到。这些函数名似乎都经过了处理,均为两个字母而且毫无规律,但函数内容是可以读懂的。

界面响应快不仅仅全靠JavaScript,用IE访问的时候,Gmail使用了微软的XMLHTTP组件,可以直接在IE中访问远程服务器的内容而不需要刷新页面。类似于一个远程调用,通信协议是HTTP,数据协议是XML。

Gmail的地址簿是在加载的时候全部下载到本地的,这才有了输入对方地址时自动出现地址提示的功能。(Yahoo Mail最近也实现了此功能)。

用JavaScript操纵界面在目前来说,是在HTML的标准下唯一的方法。但显然不是一个好方法,其笨拙和调试的复杂性比rich client烦很多。

Categories
Technology

Concept hijacking

Concept hijacking是我起的一个名字。不久前不知道因为什么原因去网上搜有关“珊瑚虫”的资料,结果找到的全是腾讯QQ的去广告、显IP的珊瑚虫版本,直到在关键词后面加上“海洋”,符合要求的网页在逐渐浮上来。

这可以称为“概念劫持”,一个流行热门的概念、词组由于在网上快速蔓延,其扩散的密集程度已经远远盖过该词语的经典含义。对于那些想查找其本意的用户,搜索引擎无法理解他们的实际需要,只能根据关键词给出结果。

解决的方法有两个:

1. 搜索引擎根据上下文提供搜索结构分类;

2. 用户提供更多关键词以过滤不相关页面。如果掌握的好,这个是最有效的方法。

Categories
Technology

不想趟Google的混水

渐渐对Google失去了热情,可能是因为热衷于Google的人太多了。Google为盛名所累,推出的所有服务都举世瞩目,但Google如何能保证每次都可以成功,也许GMail成功了,GBrowser,GIM呢,一定能超越所有竞争者吗?

期待Google的”Microsoft Bob”出世。

回复


– 评论人:匿名网友


Sun Mar 27 06:00:27 CST 2005 
作者Blog

.

Categories
Technology

惭愧,一个Java基本问题

Java对所有对象型参数的传递都是传引用的(by reference),在传入的函数体内修改该对象会对指向该对象的所有instance进行修改。但如果是创建一个新instance给该对象呢?如:

Vector v = new Vector();

v.addElement(“a”);

change(v);

System.out.println(v.size());

..

private void change(vector v) {

v= new Vector();

}

最后的打印结果是1,即在函数内创建新实例的话并不影响函数体外的变量。这个sample是我在Fowler的Refactor一书里看到的,当时就写了个例子验证,果然。惭愧,写了这么多年程序,这个问题居然到今天才发现。

Categories
Technology

电脑音量

如果电脑不出声了咋办?在排除硬件故障前提下,可能有四个原因:

1. 播放声音的应用程序的音量太小;

2. 操作系统控制面板中音量设置太小;

3. 电脑硬件音量(如Thinkpad或者一些品牌电脑键盘上的音量调节按钮)设置太小;

4. 声音输入装置,如音箱、耳机音量设置太小。

如果以上四项 1 or 2 or 3 or 4任意一个为true的话,那就啥也听不见了。

所以,亲爱的的朋友们,当您啥也听不见了的时候,别抱怨,请按顺序检查1、2、3、4。

回复

– 评论人:我是谁
  2006-05-28 10:21:13   

真奇了,电脑不出声

– 评论人:Mira
  2006-03-06 10:52:55   

谢谢啊,张

我按你说的试试,不行再来请教!

Best Regards! 〉:〈

– 评论人:boo
  2006-03-03 20:50:40   

1. 一定是软件问题;

2. 可能播放器有问题,换一个;

3. 播其他格式的文件是不是也这样,如avi,rm,rmvb,wav。如果也是这样说明是声卡驱动可能有问题;

4. rpwt

– 评论人:Mira
  2006-03-03 15:29:49   

你好!

请问, 漫步者低音炮音响,每次需要把wave调到中间两个声道才能同时有声,但是现在唱完一首歌我就需要调一次,咨询请问是什么原因呢?

谢谢!

– 评论人:boo
  2005-09-14 15:40:02   

🙁

– 评论人:li
  2005-09-14 11:28:27   

我以上的步骤我有照做,但还是不可以啊!

Categories
Technology

搞到一个GMail

没想到这么容易就得到了一个GMail帐户。中午吃饭的时候访问了公司内部的blog发现有个人刚收到5个GMail的邀请,发IM过去要了一个。Google很狡猾,通过传销的方式推行GMail,上家下家一串就拎起来了,Google也知道任意两个GMail用户之间的关系路径。当大伙的社会关系暴露在Google布下的网络中时,我们还对得到一个1G的邮箱沾沾自喜…

Categories
Technology

Freedom is not free

这是上周末去华盛顿,在朝鲜战争纪念馆看到的一段话,翻译一下就是“自由不是免费的”。有关对free的翻译,Richard Stallman有精辟的论述。open source让开发者获得了自由,选择的自由,使用的自由和修改的自由,但这是免费的吗?编程需要资源吗,学习需要资源吗,这些资源是免费的吗?Sun置疑IBM不拿出DB2的源码却让Sun开放Java是有失公正的。任何商业公司存在的唯一目的就是赚钱、盈利。IBM推广Open source不是不要卖软件了,而是启发、点燃一个市场,一个由open standard维系的市场,一个可以充分盈利的市场。

前天Cloudscape被IBM送给Apache了。这个东西我略微用过,就两个功能:1.作为一个超简单DB Server,使用标准JDBC接口访问;2.作为API和Library供单一程序调用(比如Workplace)。

Categories
Technology

终于看了Bill和Steve版本的Matrix

Google “Microsoft Matrix”找到可能是唯一外传出来的版本(http://www.only4gurus.com/v2/preview.asp?ID=4551),使用Canon PowerShot拍的,因为保安阻止整个片子只有2分多钟。这部分是Steve模仿Neo被关在屋子里盘问,接到Bill的电话被吸了进去…剩下的一部分就是在网上看到的照片截屏,Bill扮演Morph,一手拿着IBM&Linux的盒子,一手拿红色的Windows药丸…

盖茨和巴尔默还是牛的,超重量级选手也能搞的出来这样的作品。据说Matrix制作班底参与了短片的拍摄。就选择药丸这段戏,其实早在几年前就被Borland玩过了,一个Borland雇员拿着红、蓝两个药丸在Borland的conference上模仿Matrix情节(不过是舞台秀,精彩程度远不如微软版本)。

Categories
Technology

几个单词释义

近来搞清楚了几个单词。

1. ecosystem

   这是近来presentation里面最常看到的词。问了我的manager,说表示的是与一个组织、一个系统密切相关的其它机构或组件,就像生物圈中的生态系统一样。拿supply chain来说,供应商、分销商和消费者构成了一个ecosystem;又如一个大的软件公司开发通用型平台,围绕在该平台周围的有ISV,open source community和最终用户,这些也构成了一个ecosystem。

2. Provision

   这个词倒容易解释,放在特定context里面就有一定难度了。比如Tivoli Provisioning Manager,provision的理解就不那么直接了。一个好的翻译是:预防性检测,即在收集系统信息的基础上(信息来自网络、OS和app),作出正确的判断并执行一系列命令以保证整个系统能持续稳定的运行。如此一来,provision就带有”intelligent”的意思了,再换句话说,就是”autonomic”了。

3. false positive, false negative

   这是两个常用词,尤其是对搞学术研究的人来说。本人一直是囫囵吞枣的理解,今日终得正解。false positive是说把本来不是的当场是的;false negative是说把本来是的当成不是的。听上去这个解释很拗口,有个比喻可以帮助理解:有3个小偷但警察抓了8个人,其中有个小偷还跑掉了,那么这个案例终false positve是6,即错抓了6个;false negative是1,即露了一个。信息检索里面的recall和precision分别可以看作这两个词的同义词,前者表“查全率”,后者表示“查准率”。现实生活中,这两个参数往往是矛盾的:人抓多了,一定有错抓;抓少了,一定有漏网的。

Categories
Technology

Java classloading

在Web上找到今年JavaOne 2004的一个presentation,介绍classloader,看了后觉得受益颇深。以前的文章仅仅是提到bootstrap, extension和system loader就完了,而这个ppt里有包括对目前集中流行的App Server classloading机制的分析。第一次知道WebSphere的两种类加载方式,回想起以前有个Web service security的问题一直没解决很可能和portal里面classloading的设置有问题。

http://chariotsolutions.com/slides/javaone-2004-classloading.ppt

JavaOne的presentation质量普遍都很高,可惜的是今年的ppt只有注册用户才能看到(要花几十美元)。我记得2003的所有ppt都是可以免费下载的。Sun现在也是,人家微软的TechEd和IBM的developerWorks都能免费下载。也难怪,Sun自己的Java却让IBM, BEA赚钱,难免有些郁闷。