云南行照片若干
2008年08月24日, 15:49:01奥运前去了云南丽江、泸沽湖、香格里拉和梅里十日游,贴几张途中照片。
泸沽湖上的里格半岛,我住的“彼岸”客栈在半岛的顶端:

这是“彼岸”的上房,可以纵览湖景:

摩梭族住家,里面贴着诸神的画像,屋里电视里放的是李修贤演的一部80年代警匪片:

翻越白马雪山到梅里的途中,经过海拔4千多米的一个高点,气温很低:
奥运前去了云南丽江、泸沽湖、香格里拉和梅里十日游,贴几张途中照片。
泸沽湖上的里格半岛,我住的“彼岸”客栈在半岛的顶端:

这是“彼岸”的上房,可以纵览湖景:

摩梭族住家,里面贴着诸神的画像,屋里电视里放的是李修贤演的一部80年代警匪片:

翻越白马雪山到梅里的途中,经过海拔4千多米的一个高点,气温很低:
ibm.com的新社区将基于Lotus Connections,提供博客、书签、活动、人员、社区和利用mashup的整和主页。目前Connections提供的这6个服务已经部署上去,ibm.com在其上做了UI和功能上的定制。
目前该服务还没有正式推出,不过可以从下面几个URL窥探一下基于社会软件的新社区:
中行网上转账业务从chinapay上撤销至今,大概有1、2年的时间了,最近听闻中行开通了新版网银并且支持跨行转账,决定马上申请以简化还贷手续。
新版网银使用用户名而不是帐号或者身份证登录,用户名可以自行修改。一个新的安全措施是采用了硬件动态密码令牌。之前和同事还讨论过它的原理,主要的焦点在如何保证时间同步。今天谷了一下,这篇短文基本可以解释了。
刚刚试用了一把,和猜想的一样,还是IE only,Firefox在国内的推广依然任重道远,网银是最突出问题。 另外,跨行转账的时候需要指定银行的名称和开户分行的信息(不知道如果忘记开户分行随便填一个会有什么结果),剩下的就是点点按钮了。
新版网银的登录地址是:http://www.boc.cn/cn/static/index.html (点右边的“登录新版网上银行”按钮)。另外旧版的中行网银将在9月份停止服务,要升级的抓紧了(注意,如果是持有长城信用卡,则先需要办理一个绑定的借记卡)。
希望此文对使用持有中行长城卡并需要按月还贷的IBM同事有所帮助。
在经历了6个月的辛勤工作后,我们的成果Lotus Connections 2.0终于面世了。多语言版(24种语言)将在几周内随即发布。我在Beehive上的签名也该改掉了:-)
2.0的功能与特色,相信很快会有相关文章出来。上周在波士顿的演示会上2.0版得到了非常好的评价。
作为开发者,在抒发了小小的成就感后,立刻就要投入到下个增强版的开发中,相信再过几个月会再给大家来汇报的。
今天了解到,由IBM帮助实施定制和部署的赈灾管理系统Sahana在中国民政局捐助中心上线内部测试:http://www.ccdic.org/。CDL的许多同事参与了Sahana的汉化和定制工作,短短几天内组成了开发团队并搭建了开发、测试环境。Bug tracking目前使用的是和Lotus Connections同一套基于Notes的系统。
本人没有直接参与到项目的开发工作,今天利用一些空闲时间试用了一下Sahana系统,同时开了3个bug。 Sahana的基础软件很简单,都是开源系统,它本身是一个基于Web的系统,界面平实简单,导航一目了然。根据文档描述,Sahana可以放在USB闪盘中运行,很适合各种条件下的使用。
在毛新生的博客上,有关于这个系统更多的信息和细节。
Sahana汉化版截图:
本次为东汽中学老师、同学捐款活动由校友发起,捐款帐号公布在Chinaren校友录:
捐款详情: http://class.chinaren.com/class/class_index.jsp?ename=dongqi85
致东汽中学校友的公开信(百度贴吧)
希望得到广大校友和各界支持,谢谢。
附:
我的高中政治老师谭千秋:
我的高中语文老师周德祥:
东汽中学是我就读初、高中的学校,在这次地震中倒塌。晚上在网上偶然看到这篇文章,才知道谭老师已经遇难。我已经有16年没有见过他了,97年回汉旺的时候去了中学,不过高中的老师都没有碰到。
看到百度贴吧里东汽中学的照片心里很难过,我曾经生活过6年的地方现在压着几百个学生、老师。
祝谭老师走好~~
我还在
刚注意到新浪新闻首页改版,变成了左、中、右三列,正文在中间一列,左右分别是相关链接、博客、评论等。
我不太喜欢新页面,因为它分散了我的注意力,觉得目光一直吊在天上没法儿落地。几年前网易的新闻就是这个模样,眼珠左右转,看的吃力的很。
这不由的让我联想到自己参与开发的产品,也许不少自认为还不错的改进,在用户朴素、保守(每个用户或多或少都有)的想法面前会显得苍白。不过话再说回来,单纯由用户需求驱动的产品可以是个好产品(比如一个ERP应用),但伟大的产品一定(或许有点绝对)是小众观点集中式人品爆发的结果 - 伟大的产品创造需求。
经过5个多月的努力,Lotus Connections 2.0 Beta版已经出炉。这段时间本人博客销声匿迹,全拜它所赐。
距离正式发布还有几个月,要抓紧时间,只争朝夕。
这是三月份《商业周刊》中文版专栏文章“管理全球劳动力”里的一篇。这篇文章主要以巴西为背景,罗列了IBM最近在全球化上一系列举措。其中一张插图是在IBM中国开发中心,我的二线老板和北京Lotus Symphony团队部分成员的合影(不得不说,照片上后面四位同事表演的成分是重了点儿,哈哈)。
文章里还提到了IBM的内部社交网络Beehive和SmallBlue,用来解决全球沟通的挑战。Lotus在上海的团队参与了SmallBlue的开发工作,成功帮助SmallBlue孵化成为IBM Atlas for Lotus Connections.
后天 - 3月9日,美国进入2008年夏令时。如此一来,和美国东部时间时差恢复到12小时。安排和美国team的项目会议,双方都会更容易一点。
最近手机升级,用上了N70,里面的多国时间切换功能很好。不过我还没有试过,这个版本的固件是否支持去年改制过的美国夏令时,后天试一下就知道了。
毫无疑问,“云计算”将成为继“网格计算”后,工业界和学术界的又一个热点。联想到过去几年国内高校的P2P、网格计算的热度,2008年国内估计至少得有50份以上的计算机专业博士论文开题报告和“云计算”有关。和“网格计算”相关的课题,也多多少少要变个身影,搭上个“云”边,与时俱进。
IBM也在近期关闭了developerWorks的网格专区,一心奔着“虚拟化”,“云计算”而去了,并且在国内有了第一个“云计算”的合作案例。
我对云计算在国内、外的研究有一个小小的期望,就是要“头顶天,脚睬地”,搞学问的时候忘掉概念,从解决实际问题的角度出发突破创新。让“云计算”创造更多价值,而不是论文。
permalink是Blogs 2.0里新添加的功能,和WordPress的”slug“很类似,允许博客作者为自己的帖子指定一个有意义的、永久的URL。
对于客户端来说,permalink的存在,只有在支持HTTP 302的前提下才更有价值。因为很多的permalink或者一些feed的订阅地址,会像public API一样,一旦发布出去就应该长时间保持有效,即使需要修改也必须同时用302重定向的方法支持老的URL。最近我在整理ThunderBird里订阅的feed列表,发现有不少feed(都是一些大牌儿网站的feed)已经失效了,而用浏览器访问这些feed则可以正常阅读,究其原因就在于ThunderBird不支持HTTP 302重定向,人家feed地址一改就歇菜了。
对于企业内部用户,feed reader面对的是配置了各种策略(包括安全策略)的部署环境,重定向几乎不能避免,对它的支持格外重要。
Lotus Connections 2.0后台的O/R mapping将从iBatis 2.1.5升级到2.3,今天在测试的时候发现部署iBatis 2.3后导致Blogs出现大量exception,大部分功能失效。然而根据文档,2.3的API是向下兼容的,理应不该出现此类问题。
做了一番调查,发现原因如下:当iBatis拿到结果集后调用Java pojo的setter方法来保存对象集合,而如果一个pojo存在两个同名但参数类型不同的setter时,2.3版本iBatis会调用到错误的方法。以Blogs为例,其中一个pojo有两个同名的setter方法,一个参数类型是java.util.Set,另外一个是java.util.List。iBatis会错误的调用”setXXX(Set mydata)“而不是”setXXX(List mydata)“方法,因为iBatis的O/R映射集合类型是不支持java.util.Set的,所以出现argument type mismatch的错误。
通过修改pojo,消除同名setter方法可以解决升级到2.3后的这个问题。
J.Drovak在近期谈到了十大”bright ideas“,有一条叫做“Make Dead Products Public Domain”。(另外有一条叫“停止外包”,说Intel与其在中国成立工厂不如在美国(指的应该是大连新的封装工厂),不过PC Mag中文版的翻译却成了“与其在印度成立工厂…”,编辑们的用心良苦…)
退市产品的公共化问题,的确是个非常好的主张,不过面临的困难极其巨大,我大致分析一下大概有以下两个主要原因阻止了这件事情的发生:
1. 产品所有者的潜在经济利益。一个退市的产品,虽然不能为其拥有者带来经济利益,但一旦成为免费的公共资源,有可能间接与自己目前的产品发生冲突或者有可能被利用来创造和自己竞争的产品(或免费提供)。比如微软不卖DOS已经很久了,如果把DOS免费贡献给公众,可能会被利用到一些可能成为微软利益区域的领域(或者某些当前还无法预测的领域)。放在产品所有者自己手里,虽然一分不赚,但也没了这些风险的困扰;
2. 专利的限制。即使产品所有者主观上愿意把陈年老货免费赠送给大众,一个潜在的问题是产品所包含的专利权。如果产品内包含的所有专利都也都来自同一所有者,那么这个问题很简单,如果产品包含的专利还同时来自与第三方,那么产品公共化所涉及到的就不仅仅是产品所有者单方的问题。要达成多方的共识本身就要耗费资源,这个问题如果没有相关法律制度的帮助,很难促成。去年,IBM的OS/2正式下市,有不少人提议将OS/2开源,最终IBM还是没有开源OS/2的原因之一就是OS/2不仅包含IBM的代码,还有其他公司的代码。
除了需要配套的著作权和专利法的促成外,政府还必须提供必要的利益补偿(比如免税等等),才能把这件企业(尤其是软件企业)最低优先级的事情进入所有人的视线,让知识财富更好的为社会服务。
前天收到一个客户询问想知道有哪些免费的feed reader可以用来订阅Connections的atom feed。因为Connections部署在公司内网,在线的feed reader都无法访问(如果有基于JS的atom reader倒是可用),所以只能需找客户端软件。
在网上搜了一吧,免费的里面对Connections的支持好的feed reader算一个,RSSOwl也可以不过在处理Connections的feed上出现了一个问题。ThunderBird不支持Atom很遗憾,虽然Firefox上有atom reader插件不过客户大多数使用IE 6/7,所以也不是个通用的方法。
如有更好选择,请跟帖拉
Lotus Connections的安全性包括以下几个方面:
1. 传输层安全。Connections在用户登录时强制采用SSL,用户也可以修改配置实现整个应用的SSL保护。上周我们根据一个国外客户的需求,通过定制web.xml和HTTP Server的rewriterule实现了Web访问的强制SSL保护和feed内容的强制basic authentication。
2. 认证安全。Connections的认证包括form based authentication(j_security_check)和basic authentication。前者是在使用浏览器访问5个模块的时候用户认证方式,后者是feed reader使用的。在Connections 1.0.2中,强制要求feed reader在做post等写操作的时候使用basic authentication over SSL,其他读feed的操作无需认证。
3. 第三方安全产品的支持。1.0.2增加了对Tivoli Access Manager (TAM)的支持。看似和应用无关的安全支持实际上影响了不少的代码。而为了支持AJAX, JSON等调用,TAM的配置也是很不同。举例来讲,我们尝试过的一个TAM配置会在返回的页面的末尾添加一段JS代码,这会break我们的JSON调用,必须用其他配置形式绕过。
4. 对Web内容的过滤。Connections使用了ACF对用户提交内容进行检查,去除掉一些会危害Web访问安全的代码,如Cross-site scripting (XSS)。Blogs还会根据用户配置对上传的文件进行检测,最大程度上减少XSS的可能性。Activities甚至还提供了对CSRF的防范功能。
天下没有免费的午餐,增加了诸多的安全性机制,会在某种程度上对系统性能产生影响,比如HTTPS相对HTTP会降低约40%的性能(仅在登录是使用可以忽略);ACF的HTML解析的代价。好消息是大部分安全机制都是可以由用户修改配置来enable或者disable,有相当的灵活性。
这几天在帮助Connections的客户配置edge reverse proxy,下面是目前使用到的全部配置列表(安装了Blogs,dogear和Activities):
ServerInit C:\Progra~1\IBM\edge\cp\lib\plugins\mod_rewrite\mod_rw.dll:modrw_init Transmogrifier
Transmogrifier C:\Progra~1\IBM\edge\cp\lib\plugins\mod_rewrite\mod_rw.dll:modrw_open:modrw_write:modrw_close:modrw_error
SSLEnable On
SendRevProxyName yes
Enable PUT
Enable DELETE
Map /blogs/* /connections/blogs/*
Map /dogear/* /connections/dogear/*
Map /activities/* /connections/activities/*
JunctionRewrite on
Proxy /connections/* http://wasserver/* :80
Proxy /connections/* https://wasserver/*:443
ReversePass http://wasserver/* http://myserver.com/connections/*
ReversePass https://wasserver/* https://myserver.com/connections/*
JunctionReplaceUrlPrefix http://wasserver/* http://myserver.com/connections/*
JunctionReplaceUrlPrefix https://wasserver/* https://myserver.com/connections/*
MaxContentLengthBuffer 5M
KeyRing C:\Progra~1\IBM\key.kdb
KeyRingStash C:\Progra~1\IBM\key.sth
最后两项的key database文件需要利用ikeyman导入WebSphere for IBM HTTP Server (IHS) plugins的证书以建立edge server和IHS之间的SSL连接。
此文专为搜索引擎供稿。