东坡肘子-Hillfree

Shaohua.NET, 桃李春风一杯酒,江湖夜雨十年灯

博客园 首页 新随笔 联系 订阅 管理
  32 Posts :: 5 Stories :: 26 Comments :: 12 Trackbacks

公告

2006年12月11日 #

 说来惭愧,虽然在协同工作行当里面也算待了好几年,一方面因为国内外研究的差异,有些老外总说的词汇总是不明其理,另一方面这两年因为网络技术的飞速发展,涌现出了不少新的协作方式和应用,也自然出了不少新词汇。趁着这次开会看材料的机会,索性简要整理一下。

 Fieldwork

 这算是老外文献和会议总常提到的一个词,网上的定义林林总总,实际上顾名思义,就大致是“现场调研”的意思。理解这个词有几个要点:

(1) 通常是走出去!不是在大学或者实验室中进行的;
(2) 不要主观色彩!去观察和收集第一手的信息,而非思考或评价;
(3) 现实而非人造!描述或观察对象是自然,现实的环境中实际的人类活动或者事务。

此外,调研人员可能包括老师,研究生,学生或其他志愿者。调研方式也很多,可以观察记录,采访交谈,问卷调查,甚至自身参与等等不一而足。

我觉得Colins CoBuild字典的解释还算中肯,供参考:“Fieldwork is the gathering of information about something in a real, natural environment, rather than in a place of study such as a laboratory or classroom.

我又想,为什么这样普普通通的词汇,老外一用咱们就迷糊了么?老外也没有搞什么玄虚,毛老人家早就教导过我们“理论要从实践中来,到实践中去”,结果一看国际顶级会议都有FieldworkSession,自己就困惑起来了。究其原因估计一方面是国内对此类交叉学科,过于重理论轻实践,习惯在象牙塔里想象实际应用时怎么样的,闭门造车。而非系统的,正式的去调查研究。另一方面,CSCW研究国内一般挂在计算机系或者信息学院,那种有关社会性内容的研究被边缘化,文章写了也没地方发表(除了国外,不过好难。L)所以我们一看Fieldwork堂而皇之的在顶级刊物或会议上有一席之地,我们就认为它是什么高深莫测的东西。你说说,怎么理论联系实际的优良传统,怎么就没人当回事了呢。协作活动的社会性研究不足,用户界面,功能都是拍脑袋造出来,用户能喜欢用,好用,用好嘛!

 

Ethnography

别查字典,一查字典准晕菜。嘛叫个“民族志学, 人种学, 人种志”啊?咱又不是生物学家。你说说,难怪我们对这种曝光率超高的词(在CHICSCW领域内)理解不了,国内这些字典辞典完全没有恰如其分的解释嘛!

你可以define标签google一下,冒出N多定义,我简单整理一下:宏观来讲,Ethnography算是anthropology(人类学)的一个分支,专门研究和描述人类的不同文化的。文化这个词可就大了去了,包罗万象,可不仅仅是穿衣戴帽,吃喝拉撒。(国内对民族的教育有很大问题,我们对其他民族的了解似乎就剩下衣着打扮,能歌善舞否,所谓的专家估计也就多知道一个人家吃什么喝什么,嘛时候过节,咋个娶媳妇而已)。

WikiPedia定义稍多,大致如下,供参考:“Ethnography (from the Greek ?θνο? ethnos = nation and γρ?φειν graphein = writing) refers to the genre of writing that presents qualitative description of human social phenomena, based on fieldwork. Ethnography presents the results of a holistic research method founded on the idea that a system's properties cannot necessarily be accurately understood independently of each other. The genre has both formal and historical connections to travel writing and colonial office reports. Several academic traditions, in particular the constructivist and relativist paradigms, claim ethnographic research as a valid research method.

如果嫌这个定义过于罗嗦,就还是看Colins CoBuild的“Ethnography is the branch of anthropology in which different cultures are studied and described.

仅仅这样,实际上还不能很好理解EthnographyCSCW中的意义,按照CSCW06Tutorial,简单整理几个要点:

(1)    EthnographyFieldwork的一类,简单来说就是对人类现实活动或现象的现场调研。
(2)    Ethnography是基于现实的,而非人造或有其他主观干预的。(naturalistic)
(3)    Ethnography是一项较长期的工作,经年累月,而非蜻蜓点水。(prolonged)
(4)    Ethnography重在描述,描述工作是如何有效组织起来,从而达到目标的。
(5)    Ethnography表现了社会性因素的研究重要性,使turn to social的最佳注脚。

 
CSCP & CSCW

中药说“世间万物皆可入药”,武侠上也说,到了一定程度“飞花摘叶,亦可伤人”。我看研究到了一定境界,阳春白雪,花鸟鱼虫都可用来“格物致知,不分高下”。CSCW本来是指计算机支持的协同工作(Computer Supported Cooperative Work),不过这里的CSCP是指计算机支持的协同游戏(Computer Supported Cooperative Play),进而发挥一下,后面那个CSCW就成了计算机支持的协作XX(Computer Supported Cooperative Whatever)

之所以能从ProfessionalismWork走向Playfulness,甚至人类生活的方方面面(whatever),一方面说明了信息技术的飞速发展,另一方面证明了人类生产生活方式正在深度浸入数字化。1984年,CSCW提出伊始,信息技术那可是高精尖,也就企业能用得起,提高企业生产效率也就是CSCW的初衷。经过20年的发展,信息技术可谓是进入寻常百姓家,甚至我们的社会也会逐渐成为依赖于0/1码的数字社会。那么计算机就不再仅限于支持我们的生产活动-工作,还要更好的支持我们的生活,娱乐,购物,旅游等等等等。

 网络游戏是一个非常有趣,而且很有代表性的研究主题。有关网游(比如WOW)的论文现在也屡见不鲜。我觉得主要是一个虚拟社会的趋势。现在人们在游戏中组成小的队伍,或者商会,工会,包括门派,帮会。在现实中都有实际的对应物。虚拟的游戏角色相互交户,为完成某个任务而协作,竞争或者厮杀(PlayerKill)。这是一个现实生活的微缩版。看过黑客帝国的人们不难有这样的推论,我们未来的社会,或许也是类似于网游这样的虚拟数字社会。这样看来,研究网络游戏确实是一个具有社会效益,具有前瞻性和挑战性的课题。由此及彼,会不会有计算机支持的协同购物,协同饮食评点,协同搜索(所谓的人肉Google),协同新闻报道,协同旅游等等,所以这个Whatever估计也不会是遥远的事情了。

 

Mash-up

 Mash-up也算是Web2.0时代的带来的一个新应用。简单来说,它就是“Web Application Hybrid.”通过利用外部的信息或服务组合在一起,提供一个全新的服务。

 Mashup本来是指流行于美国某些牙买加人社区的一种音乐流派,通常是用来自多个音乐歌曲的片断来拼接形成新的歌曲。(Mashup (music), a musical genre of songs that consist entirely of parts of other songs)在这里主要是指利用不同来源的信息或服务,相互组合从而创新出新的服务或应用。这类应用一句话:不怕做不到,就怕想不到。

 比较有名的Mashup有:

(1)    ChicagoCrime.org Google Map和芝加哥警局数据库的犯罪记录结合起来,从而在地图上标出那些犯罪的高发区。甚至包括犯罪类型,趋势等等。随着以后开放Map API的公司越来越多,此类应用还会更丰富。
(2)    例如利用类似FlickrAPI来共享图形或者交友。
(3)    购物和价格比对,MySimonGoogleFroogle
(4)    新闻混合并拼凑出的个性报纸:Diggdot.us等等。

 

Folksonomy

同样,这也是一个生生造出来的词,一般字典查不到(好在我们还有Google:D),是随着语义网和互联网的发展而诞生的一种新兴应用。望文生义:Folksonomy 算是Folks (人民群众)taxonomy(分类学)组合起来的词。简单来说,就是按照一大群人打标签(tagging)的聚合结果来进行的分类。

 我们先理一理,这样一个步骤

(1)    语义网研究(Semantic Web)可以让我们每个人为所关心的事物来做语义标签,当然是各做各的,个性十足。
(2)    但是当作语义标签的人很多时,而且这些人都很Open,将自己的语义标签公开出来(sharing)
(3)    那么被标注的事物(object)上就可能有很多很多的标签,我们用统计的方法处理一下,那些最本质最能说明问题的标签就会凸现出来,成为该事物的一个分类标志。
(4)    这样的过程就是一个Folksonomy,也属于社会学范畴,基于Internet或者说以Internet为中介的,信息获取和分类的方法论。

理解Folksonomy有几个要点:

(1)    人民群众的大量自发标注(tagging),这算是Folksonomy的物质基础;
(2)    这些标签都是公开共享的,这提供Folksonomy的运作可能。
(3)    所谓的社会分类方法是基于统计的,也就是出现频率。不是什么高深的算法或者理论!

 网上有材料说:“(Folksonomy) 是信息构架(Information Architecture)中一个重要部分。而Folksonomy是指群众自发性定义的平面非等级标签分类,我将它称为分众分类,也有人将之解释为Social Classification”这个定义能理解个大致,不过不太懂嘛叫做“信息架构”,听起来挺悬乎的。我个人偏爱这个简单的定义:“The aggregation of those user-generated tags within a given system into a bottom-up taxonomic representation of user-defined categories has been called a folksonomy.Wiki的定义bla-bla-bla,太罗嗦了。

 最后,还是拿网上的一个例子说明一下,算是illustrative case study:
举个例子,当我在收藏Sina.com时,自定义了“门户”,“中国”,“新闻”这3个关键词作为标签,而其他人在收藏Sina.com时也自定义了自己的关键词作为标签。而最后系统统计出来使用“门户”,“中国”,“新闻”这个3个关键词来定义Sina.com的频率最高,那么这3个词就是用户对Sina.com的分众分类 - Folksonomy

 网上这段说的也很好,刚好有助于我稍后引出所谓的群体智能(Swarm intelligence)和长尾效应(long tail):“分众分类使得传统分类法摆脱了固化的现象,并且跟大众的认知程度密切的结合起来,同时这种分类方法也为群体用户和信息之间建立了一个联系桥梁。这种分类是平面化的,没有等级层次的划分,虽然它相对不够严谨,缺乏准确度,但是在社会性软件中,这种平面延伸的分类方法却在无形之中成为形成了沟通的渠道和网络,而且方便,灵活,不受条件限制。所以这种以自定义标签形式的分众分类在现下流行的社会性网络服务中得到了广泛的应用,del.icio.us Flickr43things等等。

 Facebook

“面孔之书”?什么玩意?说白了就是里面脱胎换骨,外面看只是换了马甲的5460校友录!理解Facebook的要点:

(1)    基于大学或者学校环境的社会网络网站。Social network的网站多了去了,但社会网络这东西,说到底只是个架子。君不见,朋友圈子(见我以前的Blog)也不少,大牌公司推的也那样,不温不火的。可是一旦找对应用,就像Facebook那样,一下子火的不得了。不就是把校友录的皮贴上去了么!
(2)    提供日志,通讯录,照片,相册,涂鸦板等等交友功能,注意与其他Web2.0应用的继承和结合,例如Flickr
(3)    别的好像没什么好说了。国内也有个海龟照抄的校内网(xiaonei.net),号称中国版的Facebook

你说说,国内一再抄袭国外的应用,是因为我们笨么?教育体制问题,大家都去发垃圾paper了,谁还会对技术带来的机遇敏感,为新技术可能的应用激动。喂~~~~,有这样的人么?~~~~(大山回答)木有人,木有人,木有人了~~~~~

Swarm Creativity / Collective Intelligence

群体智能,似乎没啥太多说了。这个概念估计也有20来年了。人工智能研究到八十年代,有人学习研究累了,观察花鸟鱼虫,发现蜜蜂,蚂蚁这样不起眼的小东西,竟然能造出那么精致的蜂巢蚁穴,不可思议。这就是群体智能的滥觞。

群体智能是指集体的智慧,中国有句老话:“众人拾柴火焰高”,就是这个意思。在人工智能领域,群体智能就是通过大量小个体(可能不是很聪明的小个体)之间的协作和竞争表现出来的。不过如果只谈人工智能的群体智能,未免落了下乘。如果将这个概念推而广之,放到社会层面上来看,那就牛了。人本来就厉害,那么一大票人通过协作活动表现出来的智慧,估计就算专家也要退避三舍了。

 Web2.0以及其派生出来各种应用,体现的就是这个思想。人们不再是Internet信息的简单获取者,还是创造者。Web2.0之所以成功,就在于此,它就是数字社会草根阶层的狂欢。更何况,这个社区内很多的推动者本身就是大牛呢。不过一人计短,众人计长,社会性的群体协作,通过合适的应用和模式调动起来的智慧和力量,超乎想象啊。

 网上找到这么一段话(http://www.lifegrowing.com/danny/catalog.asp?tags=CollectiveIntelligence),我觉得很有意思:“关于未来,有两个趋势非常吸引我:一个是个性化(Individualization,个体将获得越来越多的尊重,将越来越能向整个世界表述思想展示形象,另外一个是,越来越注重群体智慧(Collective Intelligence

 看似矛盾的两个趋势,似乎在走两极,但他们却是内在逻辑统一的。群体智慧的获得,必须建立在个性化的基础上,没有个性化的实现,智慧只能是少数精英的智慧,只能是少数主流群体的智慧,而无法成为真正的群体智慧。只有当群体智慧获得实现,才能够返哺个性化,使置身群体生活中的个人脱离无知和自我封闭,成为真正意义上开放的人。

 … George把对未来的求索比喻成一次探索未来的远航。我们所赖以导航的,是个体内在的以及群体共同形成的导航力。每个人都在行动,每个人都在相互启发,每个人都在感悟着未来的方向,我们每一个人,都是这条未来航船的船长。

 说的多好。

  

Long tail

 和上面的群体智能对应,就可以说说长尾(the long tail)了。注意不是重尾(heavy tail),那个是统计学范畴的概念。第一次听到桂玲提及长尾,不明其理。搜索的时候误记作重尾,搜索出来一大堆东西,看得我云里雾里,竟然也连猜带蒙大致明白了。如果说歪打正着,也忒神奇了,所以我一直迷糊:“这两个东西到底是不是一回事?”或者说,发明长尾的人,偷用了重尾的部分概念?简直晕死!

 做学问,尤其是做信息科学方面的学问,不考虑经济和社会性,会死。长尾压根就是一个经济学的名词。嘛意思?过去说20/80原则,说书店80%的利润来自20%的畅销书。长尾就是说现在世道变了,人民群众口味变了,林子大了,买啥的都有。那些垃圾书(与畅销书相对)买的加起来也了不得,说不定比畅销书还赚钱。不怕买的少,就怕数量多啊。我畅销书买100本,也顶不上50个垃圾书一个卖23本。反正信息社会了,网上卖东西,库存少资金压力小,客户是来自全球的,60亿啊!排除那些第三世界不能上网的,只上网不卖东西的,也有好几个亿吧。青菜罗卜各有所爱,那些原来那些看似卖不动的垃圾书也就被人收藏了呢。(你说什么选集,什么三卷的中国卖了多少本?国外卖了多少本?)所以说,long tail就是传统观念的一种颠覆现象。怎么来的啊?都是“Internet”这个潘多拉的盒子放出来的。嘿嘿。

 那些更艰深或者更专业的定义,大家自己搜索一下就行。总之群体智能也好,大众分类也好,Web2.0的各种应用都好,都是这样一个过程:“技术创造了可能,社会实现了奇迹”。这里面的社会学,经济学研究,真是八辈子也学不完啊。呵呵。

 附几个中文的小文供参考:

Ÿ          http://www.360doc.com/showWeb/0/1/283214.aspx
Ÿ          http://www.360doc.com/showWeb/0/1/273879.aspx

 

posted @ 2006-12-11 18:31 hillfree 阅读(372) 评论(0) 编辑

2006年8月16日 #

对于Blogger来说,教育网是一个梦魇,很多不错的Bloger要么访问不了,要么有各种各样的限制。

最早,在cnblogs.com博客园申请了一个blog。因为博客园的定位是.NET为主的技术,而自己的技术帖子又不是很多,只想更多的来记录自己的生活,所以后来就跑到MSN Space申请了一个。虽然教育网不能访问,可是家里还是凑合能用的。所以就陆陆续续弄了有1年多。最近一段时间,微软在搞什么Live战略,直接的后果就是大家的Messager要么很难登陆上去,要么很容易受不到好友的消息。用英语说就是Hard to login, Easy to lost msg。我想这种用户体验很难让人满意。

还是老祖先有先见之明,很早就说过“狡兔三窟”这样富有哲理的话,所以我想,一个明智的人还是应该有三个Blog比较好,更新策略嘛,可以有所侧重,也可以互为镜像(如果和blog空间的使用规则不矛盾的话)。所以俺决定,开始启用第三个Blog。分工如下:

东坡肘子@ Blogger : 文化生活 http://hillfree.blogspot.com/ (全)
东坡肘子@ MSN : 幸福生活 http://hillfree.spaces.live.com/ (全)
东坡肘子@ 博客园: 技术学习 http://hillfree.cnblogs.com/ (仅限技术)

好,正式开始!就到这里。
posted @ 2006-08-16 09:44 hillfree 阅读(226) 评论(0) 编辑

2005年11月9日 #

最近研究本体Ontology,因为涉及到人的描述,所以对比较流行的Foaf做了一些调研。

FOAF (Friend of a Friend) Overview

 Website: http://www.foaf-project.org/

 FOAF is a way to describe people and relationships to computers. FOAF stands for Friend Of A Friend. Technically, it is an RDF/XML Semantic Web vocabulary. Because of this, FOAF data is easy to process and merge.

 FOAF用机器可理解的方式来描述人员以及人们之间的联系,它基于RDFXML等语义网技术,所以易于理解和处理。这种想法和Social Network以及六度空间的理论相近。

 当前比较火的“朋友圈子”网站有:

 人们用来FOAF文件来结交朋友,组建兴趣圈,查询资料,甚至约会。在FOAF中个人的Email地址是被hash的,所以可以减少Spam的可能性。人们可以利用现成的工具来创建自己的FOAF文件,用来说明自己是谁,住在哪里,喜欢做什么事情,为谁工作等等等等。然后将相应的FOAF文件上传到Internet上就可以了。

 FOAF基于RDF描述,用自动发现的机制彼此连接。当你更新你的FOAF文件后,只需要将它重新放到网上,不用做更多的动作。

 注意,FOAF即不是开源项目,也没有存储用户的信息:

FOAF isn't a software package. FOAF isn't a user database or Web site either. You own your own content; FOAF just gives you some terminology and structure to make it easy to share that content however you see fit.

 FOAF文件和vCard文件的设计初衷不同,FOAF内容更多地强调个人的兴趣,希望更好的为Semantic Web服务,而vCard属于更为传统的商务个人信息描述。他们之间的转换目前可以通过jabfoaf (http://dougal.gunters.org/jabfoaf/ )foaf2vCard (http://jibbering.com/2002/9/foaf-vcard.html )来完成。

 几个有关FOAF的词汇(Vocabulary)

  • Smushing:   

an informal term for 'merging data based on knowledge of uniquely identifying properties'. 把那些表示同一个属性的数据聚合起来。

  • Scutter

In the context of RDFWeb and FOAF, a scutter is simply a computer program that loads, parses, interprets and acts upon the contents of a Web of interconnected RDF/XML documents. In this sense it is just a Semantic Web variant on the old theme of distributed Web indexing, sometimes called a 'harvester', 'spider', or 'robot'. The links between RDF documents are usually, but not necessarily, expressed using RDF's 'rdfs:seeAlso' property.

  • Slashdot/SlashCode

Slash (a backronym for Slashdot Like Automated Story-telling Homepage) is the open source collection of Perl scripts which runs Slashdot, one of the oldest and most popular collaborative weblogs around. Slash was originally written by Rob Malda, and is now maintained by Jamie McCarthy and Chris Nandor, among others. The package is often incorrectly called Slashcode, which is the name of the website and SourceForge project.

  • Advogato

Advogato is an online community site dedicated to free software development, created by Raph Levien. It describes itself as "the free software developer's advocate."

posted @ 2005-11-09 10:29 hillfree 阅读(451) 评论(0) 编辑

2005年9月2日 #

一般都在app.config里面写连接串,在程序里面用的。

结果昨天在工程里面死活得不到,只能得到machine.config里面的一个ConnectionString,而app.config里面的不Load。

另起了一个Windows Application,同样的App.config就可以。看了看,我原来那个工程是产生dll的,不是exe。所以在Debug目录下也不会有类似xxx.exe.config这样的文件。所以问问,这种情况下如何是好?

谢谢!
posted @ 2005-09-02 08:53 hillfree 阅读(495) 评论(1) 编辑

看到MSDN上C# 101Sample中有关DataAccess的例子,app.config的连接串中经常出现如下:

Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Databases\Data.mdf;Integrated


看了看,Databases目录好像就在工程目录下。

然后我也照猫画虎,在工程目录下开了一个Databases目录,然后放了一个Access文件进去。也是类似上面这种写法。但是Debug的时候发现程序不是在工程目录里面找,而是跑到
[ProjectDirectory]\bin\Debug\Databases里面去找这个文件了。当然找不到。

问问各位知道是怎么一回事么?谢谢。
posted @ 2005-09-02 08:53 hillfree 阅读(970) 评论(2) 编辑

2005年8月31日 #

在Joshua Bloch的《Effective Java》中是提到需要改写ToString(), 在修改Equal的时候改写HashCode。

在java里面现在可以引入三个apache的类来完成,例如:

 1import org.apache.commons.lang.builder.EqualsBuilder;
 2import org.apache.commons.lang.builder.HashCodeBuilder;
 3import org.apache.commons.lang.builder.ToStringBuilder;
 4
 5    public String toString() {
 6        return new ToStringBuilder(this)
 7            .append("id", getId())
 8            .toString();
 9    }

10
11    public boolean equals(Object other) {
12        if ( (this == other ) ) return true;
13        if ( !(other instanceof TransitionInstance) ) return false;
14        TransitionInstance castOther = (TransitionInstance) other;
15        return new EqualsBuilder()
16            .append(this.getId(), castOther.getId())
17            .isEquals();
18    }

19
20    public int hashCode() {
21        return new HashCodeBuilder()
22            .append(getId())
23            .toHashCode();
24    }

那么就问问:.NET里面需要改写么?有没有类似的函数可以辅助完成呢? 谢谢赐教!
posted @ 2005-08-31 15:31 hillfree 阅读(1208) 评论(0) 编辑

我在注释的时候想在<summary/>中间写入小于号之类的字符,被转义。

加入<![CDATA[]]也不行。如下图:

1 /// <summary>
2 /// 布尔条件表达式,  <![CDATA["==, !=, ><, >=, <="]]>
3 /// </summary>
4 public string BoolExpression
5 {
6     get { return boolExpression; }
7     set { boolExpression = value; }
8 }


请问这种情况该如何解决?
posted @ 2005-08-31 15:25 hillfree 阅读(731) 评论(2) 编辑

2004年11月4日 #

摘要:   文章来自Google的搜索(2001~2004),由于是进行概要式的了解,所以没有详细记录每一篇文章,可以看作一个专题的学习笔记。   主要是对Security,主要是Access Control部分做一般性的了解,主要是想对Authorization做一些探索。  首先对Security安全做一些了解。(1) 从概念上讲,Security i...阅读全文
posted @ 2004-11-04 18:09 hillfree 阅读(478) 评论(0) 编辑

2004年10月18日 #

摘要: 国庆节回家去把婚事办了。呵呵,三年的相识相知,以后将携手面对未来的风风雨雨!自己加油!阅读全文
posted @ 2004-10-18 17:12 hillfree 阅读(311) 评论(0) 编辑

2004年9月21日 #

摘要: 因为个人的兴趣主要在协作技术和项目开发管理,所以听的课大致分为两部份(1) 一些有关SharePoint,Exchange,VS.NET 2k5之类的课程。(2) 有关微软解决方案框架MSF,软件测试,项目管理之类的课程。多多少少有些收获和心得,以流水帐的方式如下:Ÿ SharePoint2k3、Exchange2k3、InfoPath,… etc.MS Windows SharePo...阅读全文
posted @ 2004-09-21 16:50 hillfree 阅读(413) 评论(0) 编辑

仅列出标题  下一页