关于h2weibo

h2weibo是一个将你的twitter内容实时同步到新浪微博的工具,基本上同步间隔在2-5分钟之内。最近作者释出了源代码。而且原来作者架设的代理被新浪取消了资格。没办法,只好自己来架设了。代码是java写的,幸好作者写了一个安装指南,否则真的要抓瞎了。

下面是我安装使用中遇到的问题和解决办法:

在ubuntu 11.10上编译没有问题,很顺利,但是在安装vmc时出了问题,出现了好几行类似“invalid date format in specification: “2011-11-10 00:00:00.000000000Z”“这样的错误信息。

网上找了一下,有个很笨的解决方法,就是把相应报错的文件用编辑器打开,把”2011-11-10 00:00:00.000000000Z”改成”2011-11-10″即可。

另外,如果按照安装指南安装和使用vmc出现Permission denied ,记得在命令前加上sudo。

cloudfoundry.org的申请大约需要半天到一天,因此先申请服务,在折腾h2weibo比较好。

最后,比较郁闷的是,twitter和微博的key填写在default.properties这个文件里,但是我用自己申请的key填好后,更新到cloudfoundry,用twitter帐号登录只有一个空白页面,完全不能用。只能使用下载下来的h2weibo中作者留得key才能使用。不知是为何?

 更新:原来是回调地址没写,感谢@xu_lele的提醒,应为:http://xxx.cloudfoundry.com/callback/twitter 这样。

通过Twip代理使用twhirl

由于今天appspot.com被连锅端墙掉了,上面建的twitter代理也不能用了,twhirl于是彻底杯具。只好转回来用twip在自己的服务器上架代理。

之前在自己服务器上架过一个Twip代理,但是随着twitter采用OAuth后就改到GAE上了。现在Twip已经做了很多更新,架设起来还算简单。但是由于每个人服务器的环境千差万别,还是会碰到许多意想不到的问题。

参照Twip上的说明,我把原来服务器上的twip用svn升到了最新版本,但是按照twip提供的twhirl使用方式却不成功,可以登录,但是接收不到任何消息,发送的消息也不知道发到哪里去了。还好问了一下twip的开发者,很快收到回信,原来不能按照说明里的方法架设,不要用RAW_BASE_URL,而应该用O_MODE_URL 的方式,twhirl的用户名格式是 username@O_MODE_URL/1

在这个方法下设置好后,仍然不行。最后想起来或许是因为之前瞎折腾twip,不定改了什么东西出问题了,于是整个删除后重装了一遍twip,然后按照上面的方法设置,twhirl又运行如常了。

最后祝刘晓波好运。全是因为这事才墙的GAE吧?

我现在使用twitter的方法总汇

自从twitter改用oatuh方式以来,着实折腾了很多人一下子,尤其是墙内的推友们。经过一阵子摸索,在此总结一下我目前使用twitter的方法。

网页客户端

电脑上twitter,翻墙使用twitter.com官网是一种最为常见的方法。如果不翻墙,则用自建dabr或dabr衍生版的网页客户端最为方便。目前使用dabr免翻墙的方法可以参考zuola的这篇文章。如果使用的是奶瓶腿或者funp等经过汉化的版本,则不需要修改,直接用user_oauth.php改名为user.php,然后覆盖掉原来的user.php就可。

桌面客户端

对于桌面客户端,我一直是用twhirl。前几天twitter.com的一个IP又被封杀,只好用API,但是目前许多API还不支持oatuh,有些即使支持,却不支持twhirl。找了好半天,才找到一个通过GAE來搭建API的成功案例,见用GAE搭建自己的个性化推҉特҉API。那些不支持API的桌面客户端现在都可以洗洗睡了。

手机客户端

相对来说,手机客户端上twitter的方式要丰富的多。我使用的黑莓手机,除了用自建的dabr上推,客户端SocialScope和Snaptu都可以直接翻墙,无需进行设置。

与其他微博的同步

剩下来的问题就是与国内其他微博服务如何同步的问题。推荐使用tw2other这个工具。国内主流的微博服务基本都支持,只是需要空间支持php和cron是一个麻烦。我的空间是支持cron的,但是很奇怪本来用的好好的,突然某一天起就不能同步了,不知道是不是空间商的问题。于是只好再求助GAE大神,终于同步成功。

Google Buzz支持twitter的地理定位功能

周末偶然的一次使用foursquare,发现buzz悄然之间增强了地理定位功能。赫然发觉LBS应用现在成了互联网上最具有吸引力的应用。

在foursquare上check-in时,foursquare记录了你的地理信息,因为我绑定了twitter,在foursquare上的这一条check-in就同步发送到了twitter,不知从何时开始,foursquare也会同时把地理信息通过API同步到twitter。twitter自身也支持地理定位(貌似主要是通过Web 地理定位)因此foursquare传过来的地理信息就显示在了twitter的这条信息上,而我又用buzz绑定了twitter,twitter上的信息会被buzz同步过来,以前没有发现buzz能够同步twitter消息中的地理信息,但是最近看来buzz越来越重视地理信息的整合,无论是google手机地图的buzz图层,还是twitter消息中的地理信息,都会显示在buzz上。

screenshot_37-thumb

(从foursquare同步到twitter上的消息,显示了地理信息)

screenshot_38-thumb

(buzz上同步过来的上一条twitter消息,读取了消息中的地理信息)

我理想中的Foursquare

Foursquare是一个很有意思的服务,基于地理位置进行信息的分享,最近非常热门,其商业价值webleon说的已经很多了。我用了也有一段时间,给我的感受是,它距离我所想要的服务还有一段距离。这主要体现在技术层面上的缺失和功能上还有很多需要完善之处。

Foursquare以及兴起的其他类似服务,其check-in的方式基本都是用户添加地点,这对于网站的营运必然带来很大的压力,因此也就有人提出大众点评这种模式的Foursquare设想,利用现有的数据库来让用户直接check-in地点,而不用一个一个标注地点,从而能够快速的利用本身资源抢占这块新兴应用。但是正如这篇blog所说,这样反而可能丢掉许多乐趣,例如我check-in我的车位,chen-in我上的厕所(嗯,无聊的人总是有),如果用户不能标注地点,乐趣就会减少许多。从另一方面说,大众点评可以做,旅游类网站也非常适合做,当然,他们只是作为网站自身一个锦上添花的应用。

其实,Foursquare应该在技术层面上做得更好。其中我希望的一个技术实现,就是上面说的大众点评模式。如果常用google手机地图,尤其是新出的4.0,其中一个功能就是可以点击地图上某点,搜索附近的商家等地点信息,如果把它应用到Foursquare上,Foursquare根据你的坐标位置(关于坐标的确定,见下文)自动从google map上抓取附近地点的数据,推送到你的手机上如果有你需要check-in的地点,那么你就直接check-in他,如果没有你则可以自己标注地点。这样就解决了地点数据不足的问题。我使用Foursquare过程中,大部分地点都是要自己添加,操作步骤就会较多,远不如直接check-in来的方便快捷,而实在没有你需要的地点,或者你要check-in一些特别的地点,此时再交由用户自己标注,平衡了乐趣与快捷。另外,在iPhone这种触屏手机下,尤其是3G环境下,完全可以采用地图界面的客户端,只需要手指一点地图上某点,就完成了check-in。

screenshot1-20100409-010008-625

(google手机地图上可以直接搜索某个地点附近的地点信息)

关于地理定位,Foursquare以及其他的类似服务基本都是基于GPS,GPS最大的好处是定位精确,但缺点是室内无法使用,而且很多手机还没有GPS模块。而这一点上,仍然要向google手机地图学习,应该增加通过基站定位的功能,虽然精度不高,但是可以弥补GPS不能使用时的不足,而且通过上面说的附近地点搜索功能,精度问题也可以得到一部分解决。进一步,手机的多平台性,带来开发不同平台客户端的技术难度和障碍,那么采用HTML5 的Geolocation API,通过网络浏览器进行地理定位就是一个弥补客户端在部分平台上缺失的选择,用来暂时作为没有该机型客户端时的一个替代。(twitter目前已经支持这个功能)通过手机浏览器从wap版直接check-in。甚至没有手机,只有电脑时,也可以通过这个功能进行check-in,就像twitter一样,条条大路都能check-in。

总的来说,Foursquare这类服务需要与地图结合的更加紧密一些,例如把自己或好友曾经check-in的地点完整展现在地图上,甚至导出到google地球上。我总觉得google似乎已经盯上了这类应用,只是还没有想好从什么角度切入。例如buzz的地点定位功能,强大的google手机地图已经完全具备了超出Foursquare的技术实力,在这个基础上推出一个类似的服务非常容易,而且至少技术上可以完胜现在的同类服务。只是不知道google到底会作何打算?

screenshot1-20100409-010150-625

(现在这个商家“评论”还是来自第三方的内容,如果换成google自己的,那不就快变成Foursquare了吗?)

关于对Foursquare所期望的功能,最需要的还是支持图片上传。手机拍下的图片,通过Foursquare即时上传上去,而且通过将地理信息写入到照片的EXIF中,可以直接将照片标注在地图上。未来不知道会不会有音频和视频的地理标注?或许,把check-in时的评语也可以展现到地图上?我很乐意看到未来某个公民行动能够透过Foursquare进行直播,让不在现场的人们通过虚拟的地图进行参与。

当然,Foursquare对于墙内的我们来说,有一个功能是很多人没有注意到的,那就是通过将Foursquare与twitter绑定,可以从Foursquare进行推特,Foursquare在这里充当了一个第三方客户端的角色。因此我一直在猜想,Foursquare何时会被封掉…….唉,乌鸦嘴呀!

看了一圈国内的类似服务,比较看好这个玩转四方

《失落的秘符》中的维基百科及其他

春节放假一回家就一晚上看完了丹布朗的小说《失落的秘符》,书中居然还提到了维基百科…..

在第111章,兰登回忆彼得·所罗门的一场演讲,一位金发女孩的提问中说彼得·索罗斯在维基百科上有条目,说他是一位显赫的共济会会员。当然,实际上,维基百科上并没有彼得·索罗斯的条目,目前Peter Solomon只是重定向The Lost Symbol这个条目而已。

紧接着,书中这个提问的女孩还大段引用了维基百科上共济会条目的资料:

…为了确保这种强大的智慧不被不相称的人使用,早期术士会使用密码记录他们的知识…用一种由符号、神话和寓言构成的隐喻性的语言掩饰潜在的真相。到了今天,这些加密的智慧俯拾皆是…在我们的神话、艺术、古人的神秘学文本之中。不幸的是,现代人已经失去了破解这套复杂密码体系的本领…伟大的真理也已遗失。

传说,将古代奥义编码深藏的先贤们留下某种密钥…用来破解神秘编码的密码。据说,这个神奇的密码——世人称之为真言有意——拥有魔力,能驱散黑暗,解开古代奥义以能被理解的方式向所有人开放。

跟据传说,真言有意深埋在地下,耐心等候历史中的关键时刻…人类没了真理、知识和古老智慧就没法存活的时刻。在那个黑暗的十字路口,人类将最终掘出真言,欢庆启蒙之光普照的奇异新世代。

当然,上面对维基百科的摘录也是作者的虚构,维基百科上的共济会条目从来都没有这些内容。而且根据维基百科的方针,这些内容不符合NPOV原则,还有宣传某种主张的倾向,更糟糕的是夹叙夹议,不是百科全书的陈述性风格。不过话说回来,既然布朗说这几段话出自维基百科,虽然虚构,那么是否隐喻着这几段话也应该遵从维基百科的授权条款,以cc-by-sa-3.0协议共享为自由内容?:P (也不枉我照着书录入了这么多字啊)

在第114章,还说到用黑莓手机搜索heredom,第一个结果来自网络百科全书,不知道这个网络百科全书是否指的是维基百科?

——————————————————-

此外,书中还涉及了其他许多热门的网络应用。例如google搜索,中央情报局的佐藤使用的黑莓手机,凯瑟琳送给彼得·所罗门的iPhone,还有主人公兰登有个twitter帐号,但是他还不太会用推特发推(哈,有人知道他的推特帐号吗?有意思的是,中文版直接把twitter翻译成了推特)。

更有趣的是,小说中提到的Lynne McTaggart著作《意念的实验》的全球研究网站http://www.theintentionexperiment.com/则真实存在,而且还把《失落的秘符》中对它的提及作为一个宣传的噱头。而凯瑟琳助手的关于metasystem的blog据说是真实存在的,但是似乎还没有人找到

啊对了,中文版的译者对这种高技术含量的小说明显翻译起来有些力不从心。居然把whois查询翻译成了“是谁”程序,笑掉大牙。

总的来说,这是一部写个geek看得小说。

——————————————

最后,借花献佛,祝看到这篇小文的朋友们虎年不生气,虎年不受气。希望不要“苛政猛于虎也”。

利用dabr在twitter上做口碑营销

记不得看到是谁在twitter发推时,在来源处写了一个广告词。发觉那里真的是一个超棒的广告位。于是刚才闲的蛋疼,用dabr也折腾了一下。效果如图:

您在做什么? - shizhao.org - 忒的吧- twitter无处不在!

具体实现方式很简单,有dabr(这里有建立教程)的同学到Twitter oauth修改你注册的 application,Application Name改成你想好的广告词,例如我在图中修改成了“不让冯正虎回国是中国人的国耻!”,Description可以改成具体一些的关于你的广告的详细说明,不改也没关系,因为不会有什么人看到。Application Website改成你的广告指向的目标网站或网页,我改成了冯正虎的网站:http://www.fengzhenghu.com/ 。其他就不用改了。如果完美一点,可以把logo改一下。最后不要忘了保存。

然后打开dabr源代码中的twitter.php文件,查找你原来给dabr注册的 application名字,改成现在的广告词,例如我改成“不让冯正虎回国是中国人的国耻!”记住,名字有两处,都要改。保存后上传到你建的dabr的空间,覆盖原文件。

ok。大功告成,以后你所有发的推,都会显示你改的广告词。在twitter网站和绝大部分客户端上都会显示“from xxx”(xxx就是你写的那个广告)。换广告的话,就如法炮制,重新修改一遍就可以了。(注意:必须使用oauth方式登录才有效)

呵呵,twitter这个位置上的商业潜力无限呀。绝对是一个巧妙又很有推广效果的广告位。他体现了提供这个application的推特用户的品味,依靠用户的社会信任度和application的使用频度来达到广告效果。这也算是口碑营销的一种吧。

再来一个维基百科募捐广告!

您在做什么? - shizhao.org - 忒的吧- twitter无处不在!1

奥巴马访华博客吹风会快速整理

今天下午在北京,广州,上海的美国使领馆举行了奥巴马访华的博客吹风会,参与者基本都是博客作者。以下内容来自twitter上的直播。

@wenyunchao: 美国大使馆就美国总统奥巴马访华下午午两到三点将和中国一些博客作者举行吹风会。我现在在美国驻广州总领馆新闻文化处跟大家直播。

@goldkorn 在美国大使馆,等奥巴马访华前的吹风会。参加的人都是博主, 不是记者

@goldkorn Ah there are journalists, but mostly bloggers 我错了, 也有记者 at Obama pr

@wenyunchao 北京的有安替,和菜头,陈亮等。广州有我和王尔山,另一人未到,上海不知有谁。

@mranti 北京/上海/广州美国使领馆马上要举行使馆官员关于奥巴马访华而针对中国博客的专门吹风会,三地约有十数名博客和推特用户参加,视频相连,我会推特直播。之前大家在讨论上海奥巴马青年讨论和到底邀请了谁。

@wenyunchao 参加这次吹风会的都是博客作者,没有记者参与,这是一个比较有意思的现象。 #obamacn

@mranti 北京方面参加者是GoldBerg公使和其他八位使馆官员,记者博客参与者是胡泳、金玉米(Danwei)、饶进(Anti-CNN)、何雪峰、安替、陈亮、王诤(中传)、和菜头。

@mranti 广州方面参与者是北风、王尔山等,上海是齐格等。

@wenyunchao 我关注的的重点当然会是言论自由新闻自由方面,特别是与互联网有关的方面。

@wenyunchao 我目前也不知道吹什么风,一会才知道,广州另一个人是刘军。直播开始了。 #obamacn

@goldkorn 美国大使馆称其总统"欧巴马"不写"奥马",白宫叫"白屋"

@goldkorn 现在是公使介绍奥巴马访华的目的

@wenyunchao 安替问上海青年代表是怎么选的。名单还在和中国谈,希望有500到800人。 #obamacn

@goldkorn Anti 问:谁能参加奥巴马的上海青年”townhall”大会。名单还没出来。

@mranti Skipper文化参赞说奥巴马非常在意和年轻学生直接座谈,16日12:45-14:00在上海会举行Town Hall会议,约有500-700学生、青年参加,哪些大学、哪些青年被邀,还在双方谈判中。

@mranti 陈亮问奥巴马会不会直接和中国网民对话,使馆方面回答说上海Town Hall会议会和一些新闻站点合作播出,收集网民问题,使馆也会今天开通博客,在开心网(?)等新媒体发送相关消息。

@goldkorn 美国公使街新闻文化参赞提了网络自由可是没说奥巴马一定要提

@goldkorn 和菜头问:奥巴马访华,能不能他的Twitter和Facebook?

@mranti 和菜头问奥巴马会不会在访问北京的时候更新facebook和twitter。使馆方面说,奥巴马团队会在访问的时候在这些web 2.0工具上面发送消息,希望数百万的网友来访问这些网站的奥巴马专门账户。

@goldkorn 白宫新媒体负责人说奥巴马的Twitter等会照常更新。我估计奥巴马不会遇到GFW的问题

@wenyunchao 哈哈,所有的人都希望奥巴马在twitter与facebook上能做些什么。

@mranti 北风问是否奥巴马提到互联网信息自由的关注,是否愿意和中国人民一起推倒GFW。使馆方面说不确定两位领导人会说些什么,但信息自由一直是美国关注的事情之一。

@goldkorn 北风问希望奥巴马会要求胡主席拆GFW!

@goldkorn 另外的参加这会议说要求拆GFW不是普通中国人的要求

@mranti 中传的王诤说,刚才这位博客问的问题根本不代表中国主流,大多数中国人不关心言论自由,只关心是否能自由做生意和进出美国自由。使馆方面说,这正是这场博客吹风会的意义,听取主流媒体之外的博客声音。

@wenyunchao 北京现场的朋友帮我抽刚才那家伙两嘴巴,他又从何判断拆墙不是主流意见。 #obamacn

@goldkorn 政务处副处长说请博主参加吹风会就是因为他们会问非主流的问题, 美方珍惜这种非主流的想法

@mranti 饶谨问是否奥巴马访华是否能改善中美贸易,使馆方面回答虽然贸易问题在媒体上面报道的很多,但中美关系范围广泛,贸易只是其中的一部分,而且属于正常的关系和争议之一,双方已经有很良好的讨论,无需担心。

@goldkorn 开始说贸易和经济问题:两个大国进行那么多生意肯定偶尔会有矛盾,很自然

@mranti 饶谨问中国青年了解西方远胜于西方青年了解中国,美国政府有什么措施来促进这种了解?使馆方面说,美国当然会进一步提供美国青年来中国学习的机会,促进互相了解。

@goldkorn 美方希望有更多的美国人在中国留学, 更多中国人在美留学

@mranti 齐格问自己的facebook上不了,必须用翻墙软件,奥巴马访问会不会帮助打开facebook?使馆方面认为信息接入自由极为重要,美国很希望在这个方面看到进展,希望facebook等网站能很快在中国能访问到。

@goldkorn 上海的博主问奥巴马来了以后,能不能上Facebook

@mranti 北风的第二个问题留给他自己以后告诉大家。

@wenyunchao 大家看安替 @mranti 的直播,更快更全。我提出希望奥巴马关注刘晓波谭作人郭泉并在方便的时候去探望他的家人,我觉得是我来参加这次吹风会的一个道义责任,也希望对对他们有帮助。

@goldkorn 北风问奥巴马会不会提tan zuoren,liu xiaobo等人权的案子,问奥巴马会不会去网吧体验中国网民的日常困难

@goldkorn 一位博主问中国和美国的共同价值观是什么?

@mranti 胡泳问奥巴马喜欢谈价值观,那么中美之间到底有什么共同价值观?使馆方面说中美是大国,当然有共同话题,和平和繁荣以及地区安全等等。

@mranti 饶谨问最后一问题,他从越狱和变形金刚知道,FBI和美国军方很容易侵犯人权,他也用gmail,担心自己隐私被侵犯。使馆方面说不能仅从电视剧了解美国,美国有法律保护人权。

@mranti 整个直播结束,谢谢大家。

另一种Twitter同步到新浪微博的方法

这种办法其实是对月光的同步办法的一个小小改进。其实主要就是第一步的变化。优点是更简化了一些流程,而却点则和月光的一样,不能即时同步。

不用去GAE上安装那个优化feed的脚本,而是改用friendfeed,friendfeed完全可以做到同样的对twitter feed的优化,去掉多余的东西同时不会增加多余的东西。将你的twitter帐号导入到friendfeed,当然也可以导入其它的内容,完全随你自己的意思。然后将你的friendfeed页面上的rss导入到twitterfeed。步骤完全和月光的一样。

提醒一点:在twitterfeed的高级设置里,最好去掉Post Link,这样在新浪微博上就不会有到twitter的连接。

翻墙登录TwitterFeed,在里面设置RSS Feed为friendfeed 的feed网址,目标服务可以选择Ping.FM或HelloTXT这两者之一,设置时候需要API Key,可以去Ping.FM或HelloTXT网站上获取。

之后,翻墙登录Ping.FMHelloTXT,在里面设置一个Custom URL,用来实现自定义同步服务,同步信息到火兔,具体代码参见这里

最后,使用原先嘀咕的帐号登录火兔后,在嘀神服务中,绑定新浪微博、开心网、人人网等,这样就可以实现从Twitter同步信息到新浪微博和开心网。

整个同步的流程图如下: twitter -> appspot friendfeed -> twitterfeed -> ping.fm -> customurl -> huotu -> 新浪微博。

Custom URL代码的设置:修改pingfm.php,增加如下一行:

$twitters["digu"] = new PingFm(‘http://api.minicloud.com.cn/statuses/update.format’, ‘content’, array(‘source’ => ‘你的digu用户名’), ‘你的digu用户名’, ‘你的digu密码’);

将所有代码上传到你的境外主机上,ping.fm上custom URL是“放置代码的URL+miniblog.php”,例如我的blog上该代码的位置是http://shizhao.org/sina,那么custom URL就是http://shizhao.org/sina/miniblog.php

ok。大功告成。

另外推荐:在墙内网页上显示推特记录的三种方法