2009年9月30日星期三

Bookmarks From Group Collaboration 09/30/2009


Posted from Diigo. The rest of Collaboration group favorite links are here.

My bookmarks from Diigo 09/30/2009


Posted from Diigo. The rest of my favorite links are here.

2009年9月28日星期一

Group Blog Post 09/28/2009


Posted from Diigo. The rest of vincenthome group favorite links are here.

2009年9月27日星期日

Bookmarks From Group Collaboration 09/27/2009


Posted from Diigo. The rest of Collaboration group favorite links are here.

My bookmarks from Diigo 09/27/2009


Posted from Diigo. The rest of my favorite links are here.

2009年9月26日星期六

Bookmarks From Group Collaboration 09/26/2009


Posted from Diigo. The rest of Collaboration group favorite links are here.

2009年9月21日星期一

My bookmarks from Diigo 09/21/2009

  • tags: noop, google, programing

  • tags: noop, google, tech, programing

    • "据报道,Google宣布了一种新的编程语言,名字为“Noop”,主要针对Java虚拟机使用。Noop官网介绍:“Noop是运行在Java虚拟机上的新型编程语言,语言风格上和Java有些类似。”,Google打算在语言初期建立起依赖注入(dependency injection),使得语言具有可测试性,而不用像其他语言一样依靠第三方库,Noop官网称此举是为了鼓励开发者良好的编码习惯。Noop结合了新老语言的优势,语法构成上也尽量达到最优化,用Google的话说就是取其精华,弃其糟粕。此外,Google还注重了Noop的可阅读性、可执行,Google认为依赖注入改变了开发人员编写软件的方法。"

Posted from Diigo. The rest of my favorite links are here.

2009年9月20日星期日

My bookmarks from Diigo 09/20/2009

  • tags: java, tech, abstract class, interface

    • 在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类往往用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象
    • 从编程的角度来看,abstract class和interface都可以用来实现"design by contract"的思想。但是在具体的使用上面还是有一些区别的。

      首先,abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。也许,这是Java语言的设计者在考虑Java对于多重继承的支持方面的一种折中考虑吧。

      其次,在abstract class的定义中,我们可以赋予方法的默认行为。但是在interface的定义中,方法却不能拥有默认行为
    • abstarct class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is a"关系,即父类和派生类在概念本质上应该是相同的(参考文献〔3〕中有关于"is a"关系的大篇幅深入的论述,有兴趣的读者可以参考)。对于interface 来说则不然,并不要求interface的实现者和interface定义在概念本质上是一致的,仅仅是实现了interface定义的契约而已
    • 如果我们对于问题领域的理解是:AlarmDoor在概念本质上是Door,同时它有具有报警的功能。我们该如何来设计、实现来明确的反映出我们的意思呢?前面已经说过,abstract class在Java语言中表示一种继承关系,而继承关系在本质上是"is a"关系。所以对于Door这个概念,我们应该使用abstarct class方式来定义。另外,AlarmDoor又具有报警功能,说明它又能够完成报警概念中定义的行为,所以报警概念可以通过interface方式定义
    • 其实abstract class表示的是"is a"关系,interface表示的是"like a"关系,大家在选择时可以作为一个依据,当然这是建立在对问题领域的理解上的,比如:如果我们认为AlarmDoor在概念本质上是报警器,同时又具有Door的功能,那么上述的定义方式就要反过来了

Posted from Diigo. The rest of my favorite links are here.

2009年9月17日星期四

Bookmarks From Group Collaboration 09/17/2009


Posted from Diigo. The rest of Collaboration group favorite links are here.

My bookmarks from Diigo 09/17/2009

  • tags: ruby, rails, Active Record, Callbacks

    • 17 Observers


      Observers are similar to callbacks, but with important differences. Whereas callbacks can pollute a model with code that isn’t directly related to its purpose, observers allow you to add the same functionality outside of a model. For example, it could be argued that a User model should not include code to send registration confirmation emails. Whenever you use callbacks with code that isn’t directly related to your model, you may want to consider creating an observer instead.

  • tags: ruby, rails, guide


Posted from Diigo. The rest of my favorite links are here.

2009年9月15日星期二

My bookmarks from Diigo 09/15/2009


Posted from Diigo. The rest of my favorite links are here.

2009年9月13日星期日

Bookmarks From Group Collaboration 09/13/2009


Posted from Diigo. The rest of Collaboration group favorite links are here.

2009年9月10日星期四

Bookmarks From Group Collaboration 09/10/2009

  • One of the top 10 questions in social media marketing asked is “How do we kick start our community?” This post aims at providing some resources for brands that are preparing their community strategy.

    Tags: community, communitybuilding, school2.0

    • One of the top 10 questions in social media marketing asked is “How do we kick start our community?” This post aims at providing some resources for brands that are preparing their community strategy. - By Maggie Verster

Posted from Diigo. The rest of Collaboration group favorite links are here.

My bookmarks from Diigo 09/10/2009


Posted from Diigo. The rest of my favorite links are here.

2009年9月9日星期三

My bookmarks from Diigo 09/09/2009

  • tags: web, trends, real-time

    • 什么是实时网络?


      Ken Fromm就实时网络为读写网写了一篇颇有见地的启蒙类文章。在这篇文章中,他称实时网络是一种新的沟通形式,它创建出一种新的内容载体,它是即时和公开的,并有清晰的社交图与之关联,并而且它也承载一种隐含的结盟模式(model of federation)。


      实时网络中的一个领军人物的就是FriendFeed,这款生活流服务(lifestreaming service)在早期受众迅速走红,它的共同创始人Buchheit(他在Google任职期间制作了Gmail的第一个版本)在5月份的时候告诉读写网”Friendfeed上公开的实时对话即将成为与电子邮件,即时通讯(IM),和博客同等重要的沟通方式。“

    • 在8月份的时候,雅虎旗下颇具影响力的社会化书签服务美味书签(Delicious)摇身一变成为了一个实时新闻追踪类站点。它它推出了一个新主页,新版主页融合了最新的标签活动和Twitter上的跨站链接。
    • 在5月份的时候,Marshall Kirkpatrick就确认出实时网络的三种价值形式(link):氛围,自动,呈现。在8月份,Bernard Lunn将其与交易员的实时世界做了对比(link)。


      实时网络不仅只包括上面这些内容。从各个方面来看,2009年已经成为“实时网络”年。但是它仍还在处于初期阶段,因为我们还出找到使用所有这些实时数据的办法。我们已经让许多数据实时化了,并让它在搜索或过滤器中浮现出来。但是基于这些数据我们能制作出什么样的新应用程序来呢?这个问题将会在未来几年里得到解答。

  • tags: web, trends, structured-data

    • 我们首先关注的一个重大网络趋势就是结构化数据。在先前的介绍中,它有时会在“语义网”这个术语中被提及。但是2009年这年已经得出结果了,这一趋势无疑将不再仅仅局限于语义网
    • 在今年二月份的时候,蒂姆·伯纳斯-李(Tim Berners-Lee)就称我们已经身处数据网的时代,而非文档互联网的时代
  • tags: methodology, team, agile, designer-developer, workflow

  • tags: healthy, tip, 健康

    • 7:30:起床。英国威斯敏斯特大学的研究人员发现,那些在早上5:22―7:21 分起床的人,其血液中有一种能引起心脏病的物质含量较高,因此,在7:21之后起床对身体健康更加有益。


      打开台灯。“一醒来,就将灯打开,这样将会重新调整体内的生物钟,调整睡眠和醒来模式。”拉夫堡大学睡眠研究中心教授吉姆·霍恩说。


      喝一杯水。水是身体内成千上万化学反应得以进行的必需物质。早上喝一杯清水,可以补充晚上的缺水状态。


      7:30―8:00:在早饭之前刷牙。“在早饭之前刷牙可以防止牙齿的腐蚀,因为刷牙之后,可以在牙齿外面涂上一层含氟的保护层。要么,就等早饭之后半小时再刷牙。”英国牙齿协会健康和安全研究人员戈登·沃特金斯说。


      8:00―8:30:吃早饭。“早饭必须吃,因为它可以帮助你维持血糖水平的稳定。”伦敦大学国王学院营养师凯文·威尔伦说。早饭可以吃燕麦粥等,这类食物具有较低的血糖指数。


      8:30―9:00:避免运动。来自布鲁奈尔大学的研究人员发现,在早晨进行锻炼的运动员更容易感染疾病,因为免疫系统在这个时间的功能最弱。步行上班。马萨诸塞州大学医学院的研究人员发现,每天走路的人,比那些久坐不运动的人患感冒病的几率低25%。


      9:30:开始一天中最困难的工作。纽约睡眠中心的研究人员发现,大部分人在每天醒来的一两个小时内头脑最清醒。


      10:30:让眼睛离开屏幕休息一下。如果你使用电脑工作,那么每工作一小时,就让眼睛休息3分钟。


      11:00:吃点水果。这是一种解决身体血糖下降的好方法。吃一个橙子或一些红色水果,这样做能同时补充体内的铁含量和维生素C含量。


      13:00:在面包上加一些豆类蔬菜。你需要一顿可口的午餐,并且能够缓慢地释放能量。“烘烤的豆类食品富含纤维素,番茄酱可以当作是蔬菜的一部分。”维伦博士说。


      14:30―15:30:午休一小会儿。雅典的一所大学研究发现,那些每天中午午休30分钟或更长时间,每周至少午休3次的人,因心脏病死亡的几率会下降37%。


      16:00:喝杯酸奶。这样做可以稳定血糖水平。在每天三餐之间喝些酸牛奶,有利于心脏健康。


      17:00―19:00:锻炼身体。根据体内的生物钟,这个时间是运动的最佳时间,舍菲尔德大学运动学医生瑞沃·尼克说。


      19:30:晚餐少吃点。晚饭吃太多,会引起血糖升高,并增加消化系统的负担,影响睡眠。晚饭应该多吃蔬菜,少吃富含卡路里和蛋白质的食物。吃饭时要细嚼慢咽。


      21:45:看会电视。这个时间看会儿电视放松一下,有助于睡眠,但要注意,尽量不要躺在床上看电视,这会影响睡眠质量。


      23:00:洗个热水澡。“体温的适当降低有助于放松和睡眠。”拉夫堡大学睡眠研究中心吉姆·霍恩教授说。

      23:30:上床睡觉。如果你早上7点30起床,现在入睡可以保证你享受8小时充足的睡眠。

  • tags: tech, google, api


Posted from Diigo. The rest of my favorite links are here.

2009年9月8日星期二

My bookmarks from Diigo 09/08/2009

  • tags: p3p, tech, Platform for Privacy Preferences

    • 举个例子,进入药店,店员彬彬有礼的笑脸相迎:“尊敬的XX,欢迎您第X次光临本店,上次您在我们这里购买XX药品,本店对这种病又进了一些疗效突出的新药,需要我带路吗?”尽管店员微笑服务,但大家是否有一种隐私被窥探的感觉?在家中,我们可以放下厚厚的窗帘,但是在网上,我们早已在不知不觉中把自己出卖。当我们进入网站,就开始被跟踪,机器忠实地记录着你所浏览过的网页和商品,而这一切都是我们不希望发生的。

        其实,用户对网络隐私的担心和忧虑,主要是缺乏对所填写信息是否受到保护的了解。如果网络能够让用户清晰地明白网站会将用户个人信息做何种处理,用户就会感觉到放心多了。
    • P3P提高了用户对个人隐私性信息的控制权。用户在P3P提供的个人隐私保护策略下,能够清晰地明白网站对自己隐私信息做何种处理,并且P3P向用户提供了个人隐私信息在保护性上的可操作性。
    • P3P的工作方式为:得到P3P软件的用户可以将他的个人隐私偏好设定在该软件的选项中,软件默认值设定为:当任何网站收集或贩卖个人网上信息的时候,禁止进入该站点或者提醒用户。一旦设定,该软件将同用户的浏览器程序一同运行,每一个受访的站点都会发送某种形式的机器语言提议到用户的电脑中,这个提议包括了网站需要用户提供的个人隐私信息以及对这些信息所做的处理。如果该站点的信息收集行为同用户的P3P中设定的标准相符,则两者之间关于个人隐私信息的协定就可以自动地缔结,而用户亦可毫无阻碍地浏览该站点;但是如果不符,P3P将会用红绿灯的简单方式提醒用户,用户必须迅速地决定是否对自己制定的个人隐私策略作出修改以进入该网站,这通常会以对话框的形式出现,目的是方便用户做出选择。

Posted from Diigo. The rest of my favorite links are here.

2009年9月7日星期一

Bookmarks From Group Collaboration 09/07/2009


Posted from Diigo. The rest of Collaboration group favorite links are here.

My bookmarks from Diigo 09/07/2009

  • tags: Unix哲学

    • 程序应该只关注一个目标,并尽可能把它做好。让程序能够互相协同工作。应该让程序处理文本数据流,因为这是一个通用的接口
      • Rob Pike在他的《Notes on Programming in C》中提到了以下格言。虽然这些规则是关于程序设计的,但作为Unix哲学丝毫不为过:



        • 规则一:你永远不会知道你的程序会在什么地方耗费时间。程序的瓶颈常常出现在意想不到的地方,因此在你确信找到瓶颈后再动手优化代码吧。

        • 规则二:测试代码。只有在你详细测试了代码,并且发现一部分代码耗费了绝大部分的运行时间时再对程序作速度优化。

        • 规则三:功能全面的算法(fancy algorithm)在处理小规模问题时效率很低,这是因为算法时间效率中的常量很大,而问题往往规模很小。除非你知道你遇到的常常是复杂的情况,否则就让代码丑陋但是简单而高效吧。(即使问题规模确实很大,也首先尝试第二条规则。)

        • 规则四:功能全面的算法比简单的算法更容易产生Bug,更难实现。尽量使用简单的算法和数据结构

        • 规则五:数据决定一切。如果选择的数据结构能很好的管理数据,算法部分往往不言自明。记住,数据结构,而非算法,才是编程的关键。

        • 规则六:没有第六条规则。
    • 肯·汤普逊改述成:“疑惑不定之时最适合穷举。”
    • 高德纳的著名格言:“过早的优化是一切罪恶的根源。”
    • “如果你的数据结构很好,那么控制它的算法就无关痛痒了”的例子常常被简化成“简约地写代码,聪明地用数据”

Posted from Diigo. The rest of my favorite links are here.

2009年9月4日星期五

Bookmarks From Group Collaboration 09/04/2009


Posted from Diigo. The rest of Collaboration group favorite links are here.

My bookmarks from Diigo 09/04/2009


Posted from Diigo. The rest of my favorite links are here.

2009年9月3日星期四

My bookmarks from Diigo 09/03/2009

  • tags: 萨顶顶

    • 作为一个音乐人,她抛弃尘世的浮名繁华,剑走偏锋的自学梵文,遍游中国文化圣地,静心体验,音乐灵感完全来自于自己对中华民族古老文化的研究和体验, 从五千年的光华里提炼出来真正属于民族的精髓。萨顶顶认为歌唱是先于文字的人类第一语言,那就是说人在不会说话之前已经创造了音乐。因此她创造了独特的“自语”式演唱,以无意义的随性哼唱来表达自己情绪,来期待心与心的纯粹交流和感动。这种演唱方式更被环球唱片亚太地区总裁Max Hole称为“与神交流的语言”。
    • 作为一个制作人,她大胆开放的“世界音乐”意识, 使她并不拘泥于现有音乐的模式,而是利用西方电子乐的节奏感将古老神秘的东方原生态民族音乐衬托的更加出彩和现代。以Cross-over的方式将行云流水般优美的东方民族乐器与现代电子合成器融合也是如今世界上最前沿最时尚的音乐形式,这样的融合形成的一种异常强大的听觉震撼,形成独特的“萨顶顶音乐”。萨顶顶的音乐更是获得了全球音乐最高奖“格莱美”音乐奖高级评委Eric T.Johnson以及多位资深评委的肯定。“格莱美”方面甚至来函邀请萨顶顶赴美交流,这是“格莱美”成立亚洲地区常设机构几年来首次对华人歌手发出邀请。
    • 作为一个舞者, 她并非接受过专业的训练 却全凭音乐的驾驭和深入骨髓的东方气质, 随身起舞, 并独辟蹊径结合东方武术, 构织成唯美,绚烂,独特的东方神秘主义舞蹈.

      而作为一个文化符号,“萨顶顶”三个字远不只局限在音乐上.而是从音乐的最本源出发,以中华民族的千年文化为广大背景,巧妙融合西方创新意味的电子音乐,同时随之而出的是高品质音乐融合文化,深厚而不固守,创新挑战而不脱离现实的前卫时尚气质.
  • tags: ruby, rails, tech, association


Posted from Diigo. The rest of my favorite links are here.

2009年9月1日星期二

Bookmarks From Group Collaboration 09/01/2009


Posted from Diigo. The rest of Collaboration group favorite links are here.

My bookmarks from Diigo 09/01/2009


Posted from Diigo. The rest of my favorite links are here.