Ling Zhang Ling Zhang's Blog

Halloween的南瓜

万圣节(Halloween)前一个礼拜,在我住的小镇(Briarcliff Manor)很多住家的门前都已经开始布置节日饰品了。其中南瓜当然是最重要的一项内容。我的房东在大门口放了2个南瓜,不过并没有镂空刻上眼睛、鼻子和嘴巴。车库上挂着一个类似哈里波特里面的小巫师布偶。在客厅里还放着一个会唱歌的骷髅头。最有意思的是一进门就看到的一面镜子,当人经过的时候,镜子里面会出现一个人头。房东企图给我演示,但不知道是电池还是什么原因,人头一直没出来。我说算了,其实我自己也挺害怕的。附近的商店里有卖印着骷髅架子的衣服,甚至还有断手什么的。这些东西要在中国肯定吓坏很多人,哪里能想象家里放这些东西。

星期四吃中饭,结帐的时候每个人送了一个免费的小南瓜。小南瓜个头和一个大点的桔子差不多,颜色也是桔红色的,被均匀分隔成10瓣。这种南瓜硬度极大,用指甲使劲按才能有条印子。上网查到这种南瓜是装饰用的,保存期在3个月到1年。

我曾经在上海古北家乐福里看到过有卖万圣节南瓜和玩具。最近看网上说北京因为万圣节南瓜都脱销了。

我开车沿着Route 100到公司南边的Pine Bridge Rd一路看到每家门口都至少有一个大个的南瓜,很好玩。

Read more

Blog改名

因为很难使搜索引擎把"二当家"和本网页建立高度相关性。改为自己名字,看看需要多少时间能google自己的名字返回第一条记录为改主页。

特此记录。

时间:2004年11月1日

</p>

Read more

低劣的中国银行借记卡服务

今天在中行网上查帐的时候,不留神就点了挂失按钮。这个按钮在"帐户管理"的分类下,而且写着是"确认"二字,哪里知道上面一个tab写着"挂失"。

打95566问询问帐户状态,客服居然说不知道,只能去开户行问,而且必须本人亲自去。银行帐户和开户行为什么一定要有关系?我在浦东开户在浦西就不能查了?中行的信息化目前是个什么水平?更搞笑的是我问客服能不能用网上购物的办法试试该卡是否已经被挂失,答曰可以用这个办法。我的卡里就他妈的只有一块钱,能买个啥?

再次登陆网上银行发现没有一个地方可以知道当前帐户状态。于是尝试从另外一张卡转帐到该借记卡看能否成功,结果弹出一句话:该帐户已被止扣。啥叫"止扣"啊,我又去Google找,找不到;然后试金山词霸;再试Google"在线汉语词典"。。。这种服务水平,烂到何种地步。

中行目前已经被我认定为除工商银行外第二家垃圾银行。工行排名第一的原因是其糟糕透顶的服务质量无人能比。在2002年在其更新银行卡系统后,居然让客户自己持卡到外滩的总行办理升级业务,而且总行周末不办公。

论服务质量和效率,尤其是网上业务,可能招行算是不错的一家,至少我用到现在没生过气。

我曾经发文骂过Chinapay,但无论怎样Chinapay的客服还是不错的,为其业务技术上的拙劣起到了积极的弥补左右。

管理理念跟不上,信息化投多少钱都是白搭。

</p> </p>

Read more

看一个房产论坛敏感词过滤功能的实现

房产之窗: http://bbs.ehomeday.com/list_2.htm

用浏览器打开后,选择"查看代码"(View source),在HTML代码的上面有一段JavaScript,大家好好研究研究。

我对其中有个词感到疑惑,就是这个"靠"字。因为它可以和很多词搭配使用,如依靠,靠近,等。把它单独拎出来过滤会影响不少短语和句子,而且发贴人看到帖子不被系统接受也不知道是什么原因。

把敏感词放在客户端的做法实在是很古怪,让人觉得很不聪明,这等于暴露出自己的审查逻辑。这就好比在招聘网上提交简历的时候让用户看见:if (学历 != 硕士) { resume.sendToTrash();}

我前几天在搜房网的论坛上发了一个帖子,被系统据收,说有不妥词语,检查半天没发现。后来研究发现句子里面包含了"篱笆网"三个字。篱笆网是上海很有名的房屋装修论坛,而搜房也有自己的装修论坛,显然是想屏蔽竞争对手,而采用这种手段实在是不光彩。

Read more

PDA:我尚不需要

我最早接触的一个PDA是Compaq的3870,那是因为项目的需要在上面开发了若干的应用程序。开发过程中,公司给配上了中国电信包月的GPRS、一
块GPS卡和一块Wireless LAN
adapter。一开始还很来劲,等项目结束后,我基本上对这些装备已经没太大兴趣了。我一直没找到促使我自己买一个PDA的理由,无论是Plam,
Pocket PC还是其它,目前多我来说,都没太大用处,即使买了也是3分钟热情。

我是不会用PDA听音乐看电影的。听歌有mp3
player,看片子有笔记本台式机,硬盘上的片子积累了半年没看的都有,什么时候能轮到用PDA看;PDA的记事本和日历用处也不大。我重要的日程在
Lotus
notes里,次要的记在黄纸条上,随时可以涂涂画画,用完就扔;对我可能有吸引力的是email和IM,但是它需要无线网络,为了一个月有限的的PDA
网络访问额外花200块包月实在是不合算。就PDA本身,电池又是个问题;就我自己的习惯来说,我一定不会在上、下班commute的时候用这个东西,因
为我自己常常利用在车上的时间思考一些平时没空想的问题,琢磨一些技术问题。相比工作时间的思考,车上的思考更发散、更具创造性。

上了礼拜二我去了Brown
University,在计算机系一个教授的办公桌上发现上面整整放着8台显示器,不包括一个笔记本电脑和一个PDA。教授就做在两个大桌子中间,被这些
显示器包围着。8台显示器分别是Windows和Linux的桌面,有两台是一个Linux系统的两个分屏(类似Windows的多显示器,窗口可以来回
拖放),教授本人还在这些机器上用Java编程。这个场景让我想起了Matrix。

我的SONY Z18手机是2000年9月买的,已经用了4年多了。最近开始考虑换一部新手机,因为老机器的电池已经换了3块了,每次用了半年后就部行了,再继续更新电池的话显然TCO太高,不如换机器。但显然,PDA手机不在候选范围内。

</p>

Read more

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还是有的。

</p>

Read more

卸载了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。

别了,猫头鹰。

</p>

Read more

比尔盖茨说的好

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

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

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

Read more

refactor的粒度

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



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



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



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

Read more

ChinaPay网上转帐服务实在太差

今天是第四次用ChinaPay的网上银行卡转帐业务,结果又以失败告终。这次的错误号和前两次都不一样,是"090",说是什么"日期转换"错误。四次转帐三次失败,而且还是最mission critical的银行业务,这样的东西也感拿到网上做服务。上次至少打了4个电话才把被中国银行冻结的钱转走。这次看来又免不了了。既然如此,ChinaPay干脆搞电话服务算了,和Dell一样;或者非实时转帐:在网上提交申请,服务台一个小红灯亮,ChinaPay的工作人员敲dummy terminal进行转帐,什么服务器基础架构、中间件、安全、性能全都免了岂不痛快。现在这个破网站,多少投资都是白瞎。

</p>

Read more