Ling Zhang Ling Zhang's Blog

周末电视

星期五半夜看完世界杯开幕赛,今天又集中火力看完《Apprentice》第五季最后一集、《越狱》第一季最后4集,和鸟笼山剿匪记。

中国被证明为最成功的商业模式之一:短信投票,终于被Apprentice复制,通过全美短信投票而不是Donald Trump选出了新的学徒。《越狱》属于那种不一口气看完觉都睡都不好的电视剧,我拖拖拉拉看了一个礼拜才看完,算慢的了。

周日打算看完最近一期由Kevin Spacey主持的Saturday Night Live,还有丹泽尔华盛顿06年新片Inside Men。任务很重。

</p>

Read more

Dojo Toolkit

Dojo Toolkit是一套纯JavaScript的函数库,提供了基于JS的widget和AJAX类库。IBM目前是这个open source JavaScript 类库的支持者之一,并且已经或即将贡献部分代码给Dojo。

Dojo的widget很cool,尤其是那个FishEye,很炫。这里之所以没有直间给出FishEye demo的链接,是我想谈的另外一个问题,就是大量的JavaScript造就了许多1 page网站:除了首页外无法看到当前内容的URL,所有都是JS代码动态加载的,想copy个link发给别人也做不到。这好像是昨天那个内容隐藏的又一个解决方式。

我喜欢AJAX,但也喜欢完整、可复制、长期稳定、可以从地址推测出内容的URL。没有URL的网站和HTTP协议一样,是无状态的,如果没有cookie,所有对话都要重来。还是多给AJAX几块甜饼吧。

Read more

隐藏、再隐藏

本来想去6rooms.com上看看胡戈最新的“鸟笼山剿匪记”,发现正式的视频版还没出,只有Flash。在顺便点击其他视频的时候,我注意到6rooms对自己的视频文件进行了特殊保护,防止用户使用下载工具下载并离线观看。

6rooms的手段其实很简单,当用户要观看视频的时候,首先下载一个Flash,这是个Flash版的媒体播放器支持.flv格式的视频文件。当该Flash在浏览器上初始化后,它发送HTTP请求给Web server以获取真正的视频文件。由于这个过程用户无法控制并得到真正的完整URL,所以只有等视频文件通过Flash下载后“准”在线的观看。一旦关闭浏览器,想再看的话只能重新刷新页面,重新下载视频。

我用了一个HTTP proxy捕获下了Flash播放器和Web server间的对话,实际上当Flash播放器请求文件的时候6rooms服务器返回一个HTTP 303并提供了重定向的绝对URL - 真正的视频文件。

这让人联想到最近的迅雷事件。如果网络资源的URL任意传播,会伤害内容提供商,因为不会有人想看那些在线广告和花花绿绿的banner。其实可以用临时sessionID的方法确保用户是通过浏览器访问,保证广告商和自身利益,同时允许用户在建立session后下载需要的东西。6rooms这样的做法虽然可以保护文件,但对用户来说极其不方便,无形中是在驱赶用户。以我自己为例,我基本上不在线看Flash和视频,都是“View Source”后抓文件URL,然后扔到下载工具里慢慢爬,以后想什么时候看都行。

</p>

Read more

想到的都来了

如果我没记错的话,20多年前Lotus是从speadsheet产品Lotus 123开始步入主流软件开发商的行列,之后才有了WordPro (Ami Pro)和幻灯片软件。

我不知道微软office套件各产品的开发顺序,根据我从《微软的秘密》以及《微软项目开发丛书》中了解到的情况,Excel是Office软件中组件化最好、质量最佳的产品,总体水准比Word要高。Word产品经历过的失败(Word 4.0 for Mac)没有在Excel身上发生过。

现在,谷歌在线电子表格程序(http://www.google.com/googlespreadsheets/tour1.html)终于在人们的猜测和企盼中来了,像王菲家的二女儿一样,众目睽睽之下却又悄然无声的降临了。

还会有什么呢,word processor, presentation, gigabyte online storage?...太阳微系统10年前"Network is computer"的梦想要由谷歌添砖加瓦来实现了。

Read more

地球上的一点

中午,我用PDA加上GPS卡测量了我所在小区的经、纬度值。刚开始站在二楼阳台,用VisualGPSCe只能找到一颗卫星,无法定位。然后下楼找了一块比较开阔的空地再次测量,这次找到了8颗星。

测量结果如下:

纬度:31 12' 55''N    经度: 121 31' 37''E   海拔: 76.6 米

在Google Earth里输入“31 12' 55''N, 121 31' 37''E”可以精确定位到我家的位置,可惜这块区域目前提供的分辨率有限,看不大清楚。

Read more

第一次上镜

上星期五,IBM企划传播部的同事找我拍了一小段录像,准备用在公司内部的电视节目里。找到我的原因是因为我的博客和有关关于IBM紫禁城项目的评论。

录像的过程蛮简单,我坐在会议室里,面前架了个摄像机。主持人问了我四、五个问题(当然事先我都是知道的),每个问题回答几句话,期间NG了几次,不过总的还算顺利。

坐着面对镜头,两手放在桌上,我其实很想说:市民朋友们,因有重大外事活动,本月14到16日全市放假三天,请大家尽量减少出门,呆在家里看世界杯...

呵呵

Read more

重回VisualAge

最近在忙一个项目,需要把一些有年头的Java代码重新研究一遍,这些代码都是用VisualAge for Java开发的,保存在VAJ称之为Repository的.dat文件中。为了导出这些代码,我重新安装了VAJ 4.0,安装文件一共也才150MB左右,和现在Eclipse 3.2 SDK差不多。

VAJ的易用性是众所周知的,在导入了这些.dat代码库后旋即把.class连同.java文件一并重新导出成.jar文件,以便日后在Eclipse下工作。

有关VAJ后来的命运,很多人都知道。如果碰巧不了解的话,看看下面这个VAJ出错对话框风格就明白了。

PS: VisualAge曾作为ACM ICPC专用开发工具,由IBM向大会提供。

</p>

Read more

超越时空的紫禁城 (4)

2008年。

每个进入故宫参观的游客在入口处领取下面的便携设备,作为整个参观过程的向导和信息工具。该设备包括一个GSM模块(一个SIM卡芯片,即一个手机号)、一块主动式RFID无线射频芯片和一个4G容量的Flash存储器。GSM模块与普通手机基本相同,而RFID芯片通过共用GSM电池组供电。本设备还配备一个大屏幕彩色LCD显示器、一副耳机和一个背带(可挂在脖子上,解放双手)。

要让这个便携设备发挥出功效,需要在故宫内部部署一些设备以实现定位和感知。简单的说,可以利用已有的现在基础设施,如后期部署的照明、电线管路,排水系统等,在不产生新的人为破坏的前提下,安装一些配备了Wifi芯片的无线RFID探测器。同样,在主要的建筑物内部、展厅和重要展品附件都可以部署这样一些设备。当然,整个系统中还需要无线AP、路由器和服务器,用于无线数据传输、用户数据收集和信息的存储、转发。

当用户在故宫内不同区域间流动,一旦经过部署在各处的RFID探测器,便携设备内RFID芯片的ID信息就会被探测器捕捉到并通过wifi网络发送到中央服务器。因为每个固定式RFID探测器都对应于一个物理位置,这样游客在故宫内的移动线路可以清晰的记录下来。中央服务器接收到用户的位置信息后,利用手机短信功能,把当前位置(包括附件位置,附件展品等)信息发送到便携设备内置的GSM模块中,这样你就会连续收到短信。用户可以设置是否在收到从服务器主动发送的信息后发出提示音,或者mute。于是移动设备中会缓嬥˜下来最近几个参观过的位置及附件展品信息提示。

类似的,在进入博物院参观的时候每个游客都可以设定你的好友列表,这可以通过移动设备可抽出的小键盘及上面的按钮完成(你可以通过刻在设备右下角上的ID号来输入好友ID)。这样一来,无论走到哪里,你都可以知道这些人目前的位置。

下面依次介绍一下各个功能按钮的作用:

"当前位置":显示出你当前位置,并提供一个展品列表。通过显示屏高亮任何一个展品,可以播放有关此展品的语音介绍;

"驴友位置”:列出你设定好友当前在故宫的位置。高亮任意一个好友可以直接发短信或者拨电话;

附近展品”:列出离你当前位置前后左右其他重要经典和宝物,显示移动方向,高亮任意一个文物展品,播放语音资料;

时间”:显示当前时间,并根据你当前位置预测你完成剩下的参观需要的时间(距离南门、或北门);

展品介绍”:和很多博物馆一样,故宫也会为重要的展品编号并做成铭牌放在展品显眼处,通过键盘输入编号直接调出语音介绍;

已收消息”:你收到来自系统、好友、导游等自动或者人工发出的信息;

上面是主面板的功能按钮,在主面板的下方是一个可以抽出的辅助面板,包括一个数字键盘和一些功能键:

游客信息”:可以输入并设定你真实的手机号码或者电子邮件号码,你的故宫之旅的实际参观线路图还有展品对应的URL(与故宫网站上信息对应)可以发送到这些地址中;

书签”:按一下,可以把当前位置、展品ID等信息记录下来并临时保存在存储器中;

发送游记”:可以把你在故宫的旅游线路,你记录下的书签(各类展品)信息和URL等一并发送到你自己的手机或者电子信箱里。可以在结束参观的时候使用此功能;

“当前行程”:列出你已参观过的景点,列出未参观的景点和位置;

广播”:向单个好友或者群体发送短信或者电话。当对方收到短信后,通过机身上的扬声器或者耳机得到通知;

紧急呼叫”:此按钮为凹陷设计,当长按后,你的所有好友将收到消息并且扬声器开启;而故宫管理部门也将收到消息并根据你当前位置赶来帮助。

有个这个便携工具工具,你可以和你的同伴、导游、管理处进行双向交流;对于固定的场所、建筑、展品,你可以单向的收到有关它们的语音资料(所有文物的语音资料都事先烧录保存在便携设备的Flash存储器中)。

好,开始享受你的故宫之旅吧。

(完)

Read more