2009年11月11日星期三

Twitter与LinkedIn实现整合

  据国外媒体今日报道,LinkedIn已经与Twitter实现信息互通,这两家社交网站的用户目前可以跨平台发送信息。

  LinkedIn是全球最大的职业社交网络,其全球用户总量约为5000万。用户通过在该网站上发布简历等信息来寻找工作或雇员,同时与他人保持联系。

  Twitter则允许用户向自己的“关注者”(follower)发布140个字符的信息。LinkedIn也拥有状态更新功能,内容长度也被限制在140个字符以内。

  LinkedIn联合创始人兼产品战略副总裁艾伦·布鲁(Allen Blue)表示,用户可以将LinkedIn上的状态更新内容自动发布到Twitter上,还可以对内容进行选择,将部分内容发布到Twitter上。

  布鲁称,实现互通后,除了可以增加Twitter信息和LinkedIn状态更新的受众群体外,还有两大好处:

  首先,Twitter可以利用LinkedIn的认证优势,获得专业的Twitter信息,从而获取更大的成功。目前Twitter采用匿名注册方式,而LinkedIn则要求用户表明自己的真实身份。

  其次,如果LinkedIn用户将信息同步到Twitter中,不仅可以对关注者发布信息,还能够让那些通过关键词、地理位置等信息进行搜索的Twitter用户了解到相关内容。

  来源:新浪科技

2009年11月10日星期二

Sina App Engine—新浪的开放云计算平台

  Sina App Engine(SAE),是由新浪公司开发和运营的开放云计算平台的核心组成部分。SAE的目标是实现互联网应用在开发运维上的无缝整合,为App开发者提供稳定、快捷、透明、可控的服务化的平台,同时减少开发者的开发和维护成本。

  首先大家需要了解的是:

  1. Sina App Engine的访问地址为(http://sae.sina.com.cn/
  2. 现在Sina App Engine需要邀请码注册。
  3. Sina App Engine支持的环境是非常Local的Php+Mysql。(Google App Engine支持脚本为Java和Python)
  4. SAE开发者文档中心能让你了解更多相关讯息。
  5. 官方的教学视频

  Sina App Engine是用来做什么的?引用一段来自官方的介绍文本:

SAE的目标是实现互联网应用在开发运维上的无缝整合,为App开发者提供稳定、快捷、透明、可控的服务化的平台,同时减少开发者的开发和维护成本。

Sina App Engine

  为开发展提供一个好的平台,当然你也可以像很多Google App Engine的用户正在做得那样,把它当作一个高性能的虚拟主机来用,估计新浪未来会推出对应的付费项目。

  在看到支持的环境非常本地的同时,我们也开始担心其他的本地特色,例如备案、政策等等,希望新浪能够平衡好这些问题。他们的官方博客没有用大名鼎鼎的新浪博客,而是广受欢迎的Wordpress。

  令人高兴的是国内大互联网公司越来越开放,并且利用开放的力量来壮大自己,网易和搜狐都相继上线了自己的开源软件镜像站点(http://mirrors.163.com/http://mirrors.sohu.com/),而Sina App Engine的出现更是加快了这种趋势。

  来源:XJP投稿,原文地址

2009年11月9日星期一

“腾讯开发儿童社区”,玩的是寂寞

  11月5日消息,据消息人士透露,腾讯正在秘密开发儿童社区,效法对象为美国的企鹅俱乐部。声明:此消息未得到证实,本文仅供战略探讨。

  《国际广告》、《现代广告》是我常看的杂志,这些广告杂志传播的理念都比较新。这些杂志刚开始办互动营销专刊时,我记得是网易先进来合作的,但是现在看到腾讯也来搞了。如果是前几年的时候,我感觉腾讯的用户群体是非常年轻化的,再夸张一点就是腾讯是比较适合青少年用的。但是,现在白领也开始用 QQ 了,从《国际广告》看到的腾讯是具有专业的商务形象。这不能简单的说是转变,而应该是一种进化!

  从“进化”的角度去看,可以看出四大门户中的腾讯是最有耐心的,不惧怕寂寞,有足够的耐性等着用户成长。是的,用户一天一天的慢慢长大,这种用户培植战略就能让腾讯笑到最后。因为,他们还没走到社会,腾讯就抢先得到用户了。

  儿童社区,这是把“寂寞”玩到更发烧的境界了,更早去开始培植用户,从娃娃抓起。照这种玩法来预测趋势,未来的中国互联网是属于腾讯的。

  简哲提出几种趋势的假设观点:

  一、抢先拓展市场细分的用户

  做儿童社区,腾讯会快速获得这部分的市场细分用户。在长远的开发和培植用户战略方面会领先新浪、搜狐、网易这些门户。

  二、从容面对老年化问题

  腾讯玩的是寂寞,等对手的用户老去,等自己的用户长大。

  三、成长型的SNS发展战略,带动腾讯产品的发展

  由儿童到少年、青年、中年、老年,如果他们成为腾讯的用户,会影响到同学、朋友、家庭成员、亲戚及社会关系也在选择腾讯。腾讯会变成生活的一部分,是生活、交流和沟通的符号。

  例如,如果从小就用QQ,和他交往的人往往也在用QQ相互交流。同学Q群、家族Q群、工作及社会Q群,这些就是发展SNS最强大的基础。

  例如,如果从小就用QQ邮箱,未来网易邮箱的市场定位就会受到更强大的挑战。

  四、付费用户的平均年龄下降,带动业绩强势增长

  未来腾讯的付费用户的平均年龄会呈现下降的趋势,这种变化会直接带来新的业务创收和盈利增长。想象一下,假设过去平均一个用户要到20岁才成为付费用户,现在变成15岁就成为付费用户,那么每个用户可以多赚5年的钱,每月10元的会员费,5年就是600元,这是不是大生意?

  五、拍拍借机做大,改变电子商务的格局

  拍拍有机会成长为电子商务的巨头,和淘宝的差距会缩小。因为,做儿童社区对腾讯的拍拍是利好的。一般做电子商务都是面向成年人来做的,但是现在可以从儿童社区开始推广,再而灌输品牌意识,小时候的东西就在拍拍买的,等到儿童成长以后,你说他倾向选择熟悉的拍拍还是不熟悉的淘宝?为这些儿童付费的是谁?他们的父母及其亲友。所以,这种战略很高明,借孩子拓展成人用户,等孩子长大后,又发展为用户。

  门户若做儿童社区,这种战略的背后是培植用户,比竞争对手抢先发展用户,再让付费用户的平均年龄下降,从而创收!

  来源:作者投稿,作者简介:简哲,创意人,擅长商业策略设计。原文链接

2009年11月8日星期日

实时同步Twitter信息到新浪微博

  如何自动将的Twitter信息同步到国内的新浪微博、开心网、人人网等国内SNS网站,我先前曾经介绍过一个同步方法,该方法虽能实现同步功能,但是同步不是实时的,有大约一小时左右的时差,这个时差是由TwitterFeed引起的,同时该方法的设置较为繁琐,需要多次翻墙。

  因此,我开始尝试一种新的同步方法,开发了一个定时自动读取并同步Twitter信息的Python程序,以简化同步的流程,并缩短同步时间,做到基本实时同步功能。原先的同步的流程图是: twitter -> appspot -> twitterfeed -> ping.fm -> customurl -> huotu -> 新浪微博,新的同步流程变成了: twitter -> appspot -> huotu -> 新浪微博,步骤大为简化,只需在GAE上设置一个定时执行的计划任务即可。

  由于GAE支持Cron Job计划任务,因此,我们的Python程序可以实现每分钟自动调用一次,调用的时候,先从Twitter上抓取用户最新的消息,抓取成功后,将消息同步到嘀咕火兔,然后分发到新浪微博、开心网等,如果设置为每分钟执行的话,同步时差只有一分钟左右的时间,基本实现了实时同步Twitter信息到新浪微博等SNS网站的功能。

  该程序Python程序我在GAE上调试并不太顺利,按照官方的说明配置好了cron.yaml文件,但是更新twitter.py之后,Cron Job计划任务还是不起作用,后台也看不到相关的Cron Job任务。

  后来经过一番研究,终于解决了GAE中Python的Cron Job计划任务问题,原因很简单,因为我的“Google App Engine SDK for Python”是很久以前安装的,那时候GAE还不支持计划任务,因此无法更新cron.yaml文件,重新下载了一个最新版本的“Google App Engine SDK for Python”安装后,Cron Job计划任务更新就成功了。

  不过,新的问题又来了,我发现该应用调用Twitter API的时候,失败率非常高,几乎有一半的情况,调用的时候会提示“Rate limit exceeded. Clients may not make more than 150 requests per hour.”,这让我怀疑GAE的外部IP是不是非常少,还有很多第三方程序在GAE上调用Twitter API,才导致每小时的调用超过150次,否则的话,光我自己的调用绝对不会有这么高的频率,大概是因为Twitter没有将GAE的IP设置为白名单,如果有一天Twitter不限制GAE的IP,那应该就没什么问题了。

  安装使用说明:

  下载方法,使用TortoiseSVN检出这个SVN地址,然后,编辑app.yaml,修改为自己的appspot应用名,接着,修改twitter.py文件的最后一行,将自己的Twitter用户名,嘀咕火兔用户名和密码分别填入,cron.yaml文件里是计划任务设置,然后就可以按照此文的方法进行发布,执行 appcfg.py update 目录名,使用Gmail帐号和密码,就可以发布了。

  发布之后,GAE就可以定时执行twitter.py程序,由于定时执行可以设置最短为1分钟,因此同步速度很快,基本可以实现即时自动同步的效果。

2009年11月6日星期五

Google发布Dashboard服务

  据国外媒体报道, Google发布新服务Google Dashboard,用户通过该服务可查看个人数据的存储情况。

  Google显然明白公众对于其大量存储个人数据存在疑虑。为此,Google将发布Google Dashboard,用户登陆该服务后即可看到Google各类服务中所储存的个人信息,包括Gmail、Youtube、Blogger、Picasa等。

  同时用户可以进行删除数据、更改隐私设置、了解不同服务的隐私政策等操作。据悉,Google将于周四发布该服务。目前Google已经正式对外宣布了此消息,在Youtube上的Google隐私频道可以看到一个介绍Google Dashbaord的视频。

  今年以来,公众和政府均批评Google垄断互联网。目前,Google约占互联网搜索总量的三分之二,同时使用其Google Docs、Gmail、Youtube等服务的人数与日俱增。Google一直试图安抚外界对于隐私问题的不安。此前Google发布了“数据自由前线”(Data Liberation Front),允许用户导出个人数据。Google希望用户拥有数据的控制权,Google Dashboard是Google在数据隐私方面的又一举措。(来源:搜狐IT)

2009年11月5日星期四

WordPress用户密码算法规则

  WordPress系统的用户密码是保存在wp_users数据表的user_pass字段,密码是通过Portable PHP password hashing framework类产生的,密码的形式是随机且不可逆,同一个明文的密码在不同时间,产生的密文也不一样,相对来说较为安全。

  WordPress用户密码产生的过程是,当需要生成用户密码的时候,随机产生了一个salt,然后将salt和password相加,又进行了count次md5,最后和encode64的hash数值累加,就得到了一个以$P$开头的密码,这个密码每次产生的结果都不一样,下面就是产生WordPress密码的代码,将其放在WordPress根目录下,就可以生成一个加密的password,用这个密码替换掉wp_users数据表的user_pass字段即可修改密码。

<?php
 $password = 'abc';
 global $wp_hasher;
 if ( empty($wp_hasher) ) {
  require_once( './wp-includes/class-phpass.php');
  $wp_hasher = new PasswordHash(8, TRUE);
 }
 echo $wp_hasher->HashPassword($password);
?>

  不过,修改WordPress用户密码还有更简单的方法,就是直接将wp_users数据表的user_pass字段修改为32位的md5(passowrd)即可修改密码为password,这样的密码形式当然不是很安全,所以,当这个用户在WordPress登录后,系统会自动将MD5密码修改为以$P$开头的密码。

  WordPress的这种支持简单md5格式的密码使得其他系统(例如Ucenter系统)的用户整合WordPress更为简单。

2009年11月4日星期三

谷歌相关链接Google Related Links内测

  谷歌相关链接Google Related Links是一个在网站上自动显示站内相关文章的小控件,还能推荐相关搜索关键字,帮助站长们提高网站页面浏览量。

  Google Related Links使用TF-IDF技术分析文章的语义,然后根据自动分析的文章语义找出站内的相关文章,增强访问者的浏览体验。

  不过,Google Related Links对于SEO来说没什么用,因为其代码全部是JavaScript代码,难以起到SEO效果。

  现在,我已经在月光博客上启用了Google Related Links,具体效果参见网页左侧的侧栏上部。

  经过我的测试,发现部分页面在IE下会出现提示“Internet Explorer无法打开Internet站点,已终止操作”,并导致无法打开网页。我在博客上反馈了以后,Google的开发人员迅速找到了该BUG的解决方案,就是找到代码中的一行:document.body.appendChild(relatedlinks_js);将其替换成:document.getElementsByTagName("head")[0].appendChild(relatedlinks_js);就可以解决这个问题。

  目前,只有被邀请的用户可以使用Related Links.如果您想试用Related Links,请发邮件到relatedlinks@google.com,并说明您的gmail帐号,网站和网页浏览量。

  谷歌相关链接的工作原理:

  站长如果想使用谷歌相关链接,需要首先登录到Google Related Links上创建一个相关链接,然后拷贝一段js代码到自己的网页上。

  当用户浏览这个网页时,js代码会向Google服务器发起一个http的请求,其中包含了网页的标题。

  Google服务器收到请求后,会首先计算一组和网页相关的关键字(目前主要根据网页标题)作为相关搜索。然后用最好的关键字(相关搜索中的第一个)在Google搜索引擎中做一次站内搜索,将搜索结果作为相关链接。最后根据站长的配置信息生成一段js代码,这段新的js代码会在用户网页上执行并显示相关链接和相关搜索。

  谷歌相关链接的配置方法:

  在配置页面中,有几项配置起来比较难,“域名”,“删除前缀”,“删除后缀”。

  “域名”:这一项用于从Google搜索引擎中做站内搜索时限制返回结果的范围,实际上就是Google的site:搜索功能。所以这不仅可以填域名,还可以填路径,这样所有的相关链接和相关搜索都会限定在这个路径中。比如可以是 “a.com”,  “a.com/path/” 或者 “a.com/path/post”。

  “删除前缀”和“删除后缀”:这两项除了在显示给用户时用于从标题中删除前缀和后缀外,也用于在抽取关键词时从标题中删除前缀和后缀。也许部分站长已经注意到,相关链接显示的标题有时和页面<title> tag中的标题有些差别。主要是“-”前面是否包含空格。当我们提取关键字时,使用的标题是页面的js代码返回的,是包含“-”前面空格的版本。但显示给用户的标题是从Google搜索引擎中获得的,搜索引擎对标题进行了一些处理(例如删除“-”前面的空格,将过长的标题截断),所以我们这时拿到的标题是不包含“-”前面空格的。站长在配置时需要将两个版本的删除前缀和后缀都加到列表中去。比如原标题为“关于洗衣机的一些小技巧 - XX栏目 - YY网站”,那么Google搜索引擎返回的结果会是“关于洗衣机的一些小技巧- XX栏目- YY网站”,如果站长想去掉关于栏目和网站的后缀,则需要添加“ - XX栏目 - YY网站”(用于提取关键字前删除后缀)和“- XX栏目- YY网站”(用于显示给用户前删除后缀)到删除后缀中。