Big Fish
Wednesday, May 09, 2012
不得不吐槽一下豆瓣阅读
首先我要说豆瓣阅读是一个我需要的东西。现在中文正版高质量电子书市场基本就是个零,豆瓣阅读以及其它已有的或者将来的产品是这个市场所急需的。这一点上应该鼓励。
但是鼓励归鼓励,豆瓣阅读在具体的细节上的某些方面让我实在是没法不吐槽:
- 电子书分上下册卖:纸版书因为厚度等原因分上下册可以理解(但是也没哪个出版社分上下册卖的吧?),电子书分上下册有哪怕是一丁点的意义么?就算是为了把所有卖的东西(书或者『作品』)的价钱都压缩在¥10 以内,这个理由在上下册导致的麻烦下面也显得苍白可笑啊。
- Android 阅读器的权限要求:作为一个电子书阅读器,豆瓣的 Android 程序居然要求读系统 log 和拿物理位置这种完全不相干而且极度侵犯隐私的权限,然后对此没有任何解释,反正我是不会装的。
- 充值:豆瓣不支持直接根据需要扣信用卡而是只能预先充值,充值最小金额 ¥2 而且均为 ¥2 的整数倍,与此同时所有的收费图书/作品的定价都是 ¥X.99。我可以理解网上支付的国情,但是这么做的结果就是每次买东西剩下的 ¥0.01 都是别想要回来的了——除非你能买满 100 个作品。
tags: internet, douban, read, rant
01:07:24 by fishy - 程序网络 - 永久链接
Friday, January 06, 2012
Android Intent: the UNIX pipe for GUI
UNIX 哲学中有很重要的一点,就是 pipe (管道) 的运用。正是由于管道的存在,才使得另一个著名的 UNIX 哲学成为可能:"Write programs that do one thing and do it well." 每个程序完成自己的工作,然后用管道串起来,然后多复杂的工作都能轻松搞定了。
但是 UNIX pipe 处理的是标准输入输出,因此只能用在 CLI 上。在 GUI 上一直没有类似的东西出现。 Apple 在 Mac 上做过 AppleScript 和 Automator 两个尝试,可以部分实现 UNIX pipe 的效果,但是它们使用起来都过于麻烦,需要太多的用户操作。
第一个在 GUI 上基本实现了 UNIX pipe 的,我觉得要算 Android 中的 Intent 接口。文档中的概括性介绍是这样的:
An intent is an abstract description of an operation to be performed.
Intent 是个贯穿 Android 核心的概念/接口,在 Android 中大部分的操作都是由一个 Intent 发起的。在桌面上点了个 Gmail 的快捷方式来 打开 Gmail?那其实是你的桌面程序 (Launcher) 发起了一个「我要启动 com.google.android.apps.gmail.MainActivity」的 intent 而已;在 Gmail 里菜单里面选了「选项」?那其实也是 Gmail 发起了一个「我要启动 com.google.android.apps.gmail.SettingsActivity」的 intent 而已。。。
当然这里举的例子跟 UNIX pipe 无关,咱们再来看下面几个例子:
我在 Google Currents 上看到了一篇不错的文章,想分享给朋友们。跟大多数 Android app 一样, Currents 里面也有个分享按钮的:
点了后会给出一个可以处理这个格式的内容的程序列表 (可以处理的程序太多,截图中只是其中一部分而已):
然后你可以选 Gmail:
或者 Google+:
或者 Twitter:
或者 Facebook, Path, 新浪微博,豆瓣说。。。只要你装了相应的程序,你就能分享到你想分享到的地方。
这里的分享动作就是一个 Intent。 Currents 只用管告诉系统说我这里有段文字要分享,然后后面的事情就完全不用操心了。系统自然会找出用户安装的所有可以用来分享文字的程序,让用户来选择自己想要的那个,然后把文字传给相应的程序,由程序来完成分享的工作。这样做的好处是什么?好处当然是 Currents 的程序员不需要在自己的程序里面写上一大堆分享到 twitter 的代码,分享到 google+ 的代码,分享到 facebook 的代码。。。
「什么?还有中国人用我们的程序?那我们是不是还得写分享到新浪微博和入人网的代码?」
「有日本用户抱怨我们不支持 mixi 了,咱是不是考虑加一下?」
...
iOS 5 说他们终于深度集成 twitter 了,在任何程序里面都可以直接分享到 twitter 了。但是其实 Android 从第一个版本开始,早就「深度集成」了所有社交网站了。。。
上面的例子是文字的,如果你要分享的是图片,体验也是相似的:
你看,你想用什么就能「深度集成」什么。在没有 Intent 的系统上,如果你不幸是个不像 Flickr 这么主流的图片站的用户,你能想象每个能输出图片的程序都写分享到 SmugMug 的代码么?
通过 Intent,你完全可以轻松完成任何图片处理流程,比如:拍照,分享到 Skitch 用红圈圈出重点,然后分享到 Facebook。
也正是因为如此,每个 Android app 都只需要管好自己的工作就行了。比如 Flickroid 就是一个优秀的 Flickr 上传工具,在早期版本中甚至在安装完后你都不能在 Launcher 中找到程序入口,因为它唯一的功能就是把图片上传到 Flickr,所以你只用在相册或者别的程序中把图片分享给 Flickroid 就行了。
"It just works."
分享只是 Intent 的无数种用法中的一种而已。除了分享外, Intent 还可以拿来干很多别的事情,比如要数据。Google Authenticator 是一个给 Gmail 或者别的账户生成登录时使用的基于时间的临时密码的程序。在设置账户的时候,需要扫描一个二维码,但是 Google Authenticator 完全不需要自己实现这个功能, Barcode Scanner 或者 Google Goggles 或者别的程序已经实现好了:
所以 Authenticator 只需要给系统一个 Intent 说我要扫一个二维码就行了。系统会让用户选择一个程序来完成这个工作 (或者如果只装了一个或者选过默认程序的话,直接打开那个程序),然后把扫描后的结果返回给 Authenticator。
btw, 昨天在网上看到一篇吹微信的文章,于是我去 Android Market 上看了一眼,结果就被截图震惊了 (原图在此,我这里留了个备份):

这群人能放着 Android 基于 Intent 的分享功能不用而用这种山寨 iOS 的实现,不得不说很符合腾讯一贯的山寨本色。
tags: program, develop, android, intent, unix, pipe
18:53:46 by fishy - 程序网络 - 永久链接
Wednesday, March 30, 2011
百度文库他是个什么平台?
针对众位作家的维权,百度文库发布了一个声明,摘要如下 (随便搜的出处):
针对近日连续遭遇的侵权指责风波,百度公司今日发表声明,称百度文库产品在前期的运营过程中伤害了一些作家的感情,对此表示抱歉。同时表示,加速对文库中可能侵犯他人著作权的文档清理,预计未来3天内百度文库中文学作品类别的文档凡未获版权方授权的将得到彻底处理。
百度同时强调,百度文库作为免费文档分享平台,此前没有任何广告或盈利。
那么百度文库真的是个如他们所说的“免费文档分享平台”么?
本着“人之初,性本善”的善意推断原则,我们不妨相信百度这个声明说的是真话,也就是说,百度真的要删掉所有侵犯版权的文档。
那么那之后百度文库里面还能剩下哪些文档?我们不妨来列举一下:
- 上传者原创或者取得了原作者授权的文档,注意是“上传者”而不是而不是“网友”,A上传B原创的文章还是有可能构成侵权的。根据兲朝的现状,这种情况不会很多。
- Public domain (公有领域)的文档。这类应该在剩下的文档中占多数,包括:
- 作者主动放弃所有版权的文档。
- 政府公文,比如法律条款等。这一条依国家的不同而不同,我不太确定兲朝的法律是怎么规定的,我在百度文库里面搜索“知识产权法”,第一页结果里面没有法律全文,全是各种讲义和考试大纲。
- 纯粹为了描述发生事件而写的新闻稿。这一条也依国家的不同而不同。
- 年头足够久的文章。这个“年头足够久”的定义是已发布超过一定年份(一个参考值是95年,各国的法律可能不同,下同),且最后一个死亡的作者已经死了一定年份(参考值70年)。注意对于译文来说,译者也算做作者之一,所以也要等到译者死亡满70年才能算是进入 Public Domain 的。也就是说,你可以放个Pride and Prejudice的英文版上去,但是不能放《傲慢与偏见》的中译版;你可以放个《三字经》的原文上去,但是不能放加上了很多现代人的注释的版本。
- 其它不受版权保护的文章,比如美国有个案例是电话号码本不受版权保护。
- 需要注意的是,GNU Free Documentation License 授权的文章 (比如维基百科的文章)以及 Creative Commons Attribution-ShareAlike 授权的文章 (常见于 blog 文章的授权,比如本 blog 文章的授权都是 cc-by-nc-sa,包含了 Attribution-ShareAlike 的限制) 都不能在没有得到作者允许的情况下传到百度文库上,因为百度文库不能满足这两个协议的限制条款。
OK,在弄清楚这个问题之后,我们来看看百度文库这个平台的现状。
我今天第一次上了百度文库,给他的首页截了个图,首页上推荐的这些文章大概可以分为这么几类:
- 课件,版权属于老师,上传者不是老师即构成侵权。需要注意的是即使上传者就是做课件的老师本人,课件中用到的各种没有取得版权的图片也有可能构成侵权。这些图片只是上课使用可以算作 fair use 的范畴,但是如此公开的传播就是侵权。
- 考试模拟题,这个的版权属于卖给你考试资料的那个人,而且上传者显然不是卖资料的那个人。
- 有封面、正式出版的书,这些书的版权显然属于原作者,而且上传者也显然多半不是原作者。
- 一些秘籍经验之类的短文,这些文档的上传者有可能是原作者,但是这类文档在首页推荐中的比例不到1/3。
所以说百度文库首页推荐的文档有至少一半是侵权文档应该是个比较合理的估计。百度可以说那些名作家的书是某些用户偷偷上传的,百度没有发现,但是都上首页了的文章百度还能说自己没有发现么?这个理由是不是可笑了点?
再来看百度文库上这些属于 Public Domain 的文章,比如这篇《三字经》。我在百度文库上看到这篇文章了,觉得不错,想写文章的时候引用一下。咦?为什么不能选文字复制?原来百度文库上如果你想复制文章内容,必须先下载。而要下载,就必须先“登录,并付出相应财富值”。但是我怎么拿财富值呢?上传一篇文档上去?传啥文档?再传一份《三字经》还是写一篇 blog 发上去?
对大部分用户来说,貌似还是随便传个网上找的文档比较快。但是这个行为又很有可能构成了盗版。
到了这里,说百度文库是个鼓励大家传播盗版的平台,这个结论貌似还是比较自然吧?
其实你要想看《三字经》,去维基文库上可以随便看,随便复制。想看《三国演义》或是《红楼梦》也没问题。如果你想看英文的 Public Domain 的文档,比如莎翁的剧本奥斯丁的小说,那选择就更多了,随便 Project Gutenberg, Google Books或者别的什么 Public Domain 的线上图书馆多的是,想在线看或者下到手机上看都没问题,也从来没有听说过哪个网站限制你要先“登录,并付出相应财富值”才能复制文章的。
你说你是为啥非要用一个在太监裤裆底下茁壮成长的东西呢?
tags: internet, document, copyright, baidu
23:37:08 by fishy - 程序网络 - 永久链接
3 条评论 - 还没有引用通告 - 得分: -8 [+/-]
Monday, March 28, 2011
版权
有人觉得,版权这个东西是邪恶的,是阻碍社会进步的,是应该予以废除的。或者有的人觉得那本书/那首歌/那个软件卖(那么多)钱是邪恶的,完全没有道理的。OK。这个立场的对错我无法评价,但是我捍卫你抱持这个立场的权利(至于你的宪法有没有捍卫你的这个权利,就麻烦您老人家自己去研究了)。那么你应该做什么?
如果你不知道你应该做什么,你可以参考一下前人先辈们。Richard M. Stallman 是一个跟你抱持类似立场的人,他发起了 GNU 项目,发起了自由软件运动,起草了 GPL。如果这些名词对于你来说都太绕,那么通俗的解释一下。就是他,以及他的追随者们,给大部分收费的、不自由的软件重新写了免费的、自由的替代品,有些替代品甚至有比原本(收费的、不自由的)软件更强大的功能。更重要的是,他们对这些替代品使用的授权协议,GPL 或者 LGPL,具有传染性——强迫所有这些替代品的衍生产品都必须同样的自由,来维持整个自由软件社区的活力。
结果呢?他成功了,或者说基本上成功了。现在人们在软件上拥有丰富的选择。如果你完全不想花一分钱,那你也能有高质量的软件可以用。
那么他有没有违反版权法?或者通俗的说,盗版?貌似是没有。在某个访谈中(出处不可考了),他提到过因为他的信念,他从来不看电影(包括去电影院看正版和在家下盗版)。
相反的,他的整个行动中的核心,具有传染性的 GPL,反而是因为受到版权法的保护才有意义的。因为若没有版权法的保护,GPL 软件的用户,或者说 GPL 软件的衍生产品的作者,就不用遵守 GPL 的任何限制了。
所以我对你的建议是,可以像 rms 一样行动起来,自己创作免费的作品来改变版权的现状。软件你可以用 GPL 授权,文章和音乐你可以用 Creative Commons 的 ShareAlike 授权。比如本 blog 的文章,在非例外(目前为止好像还没有例外)情况下都是 cc-by-nc-sa 授权。
或者如果你特别懒,你也可以等着别人行动起来改变现状。但是你用盗版对改变现状没有任何作用,相反,你伤害了别人改变现状的努力。
为什么?我们假设有这么一个传统版权的作品 A,要收很多钱。有人对其不满,于是创造了一个免费的替代品 B。但是因为种种原因(可以是因为能力有限,或者是因为这个只是自己的业余时间作品所以投入不够等),B 在很多可见的方面都略差于 A。对于普通用户来说,在做选择的时候,B 唯一显而易见的优势就是价格(也许有些不那么明显的优势,但是普通用户是无法分辨的)。这时,如果大家都用盗版,于是 A 也“相当于”不要钱了,那么对于普通大众来说,B 的这唯一的优势就没了。那么谁还会选择 B?于是 B 没有人用,作者也就没有持续改进的动力,慢慢的 B 就消亡了,又回到了只有那个要收很多钱的 A,没有任何选择余地的境地了。如果某天因为种种原因你不能再用盗版了,那你也就只好为 A 付钱了。所以最后你得到了什么好处?消灭了 B?
当然现实总是跟理想有差距,总有些东西因为种种理由你还是会用盗版。这些理由可能是这玩意不在这个国家公开发行所以你没有方便的渠道取得正版,可能是这玩意正版为了版权保护损害了你的体验(常见于各种电脑游戏),也可能是因为你实在是没钱,等等等等。那你用了就用了吧,怀着一刻感恩的心偷着乐就行了,大部分版权持有者不会也懒得跟独立用户过不去。但是如果你用了盗版还理直气壮,说得好像你盗版了是在拯救这个畸形的社会救苍生于水火,那你其实只是在彰显你的无赖、无知和不要脸而已。
btw, 这篇文章不代表我支持微软中国关于盗版和Windows的虚假广告的观点,特此声明。
tags: network, copyright, copyleft, gpl, cc, sa
00:22:47 by fishy - 程序网络 - 永久链接
Saturday, January 29, 2011
闪开,让专业的来
副标题:Mashup vs. All-in-one (last.fm vs. douban)
Web 2.0浪潮中有一个概念,叫Mashup。意思是说尽可能的利用已有的网站提供的资源/API,来搭建自己的网站,并且自己也提供这样的资源/API来供别的网站使用。比如我常用的GPS track记录站gpsed,就是自己只提供GPS track的功能,并不去管理照片或者全世界的地图。但是整合了Google Maps的地图和Flickr(或者picasa)的照片,于是可以在显示GPS track的同时显示出地图并把照片放在拍照的地方。
Last.fm也是一样。在last.fm上面的Event页面(主要是演唱会或者音乐节之类的活动)中,活动照片并不是存放在last.fm上的,而是last.fm根据一个特定的标签自动从Flickr上加载的。比如去年我参加的Tizzy Bac北京巡演,我拍的照片并不需要在往flickr传了一遍后又往last.fm上再传一遍这么蛋疼,而是直接加上一个"lastfm:event=1407759"的标签就会自动出现在last.fm的Event页面了。于是在last.fm上看到的照片,点开后就能轻松的看到Flickr提供的各种信息,比如EXIF,黑底大图,原始大图等。
除了调用Flickr的照片API外,last.fm自己同时也是一个数据的提供者。它提供了日历的输出,于是在简单的设置后我要参加的演出就会自动出现在我的Google Calendar上、手机上或者电脑上(这个是我为了截图随便加的一个演出):
演出活动也是豆瓣力推的一个功能,那么文青最爱的豆瓣上是怎么做的呢?他们除了地图实在是没能力自己做外,其它的啥都是自己做的。比如同一场演出,豆瓣上有一个专门的
当然,我也不能把豆瓣上的活动加到我的日历上(蛋疼得手工输入时间地点人物除外)。
造成这个结果的原因也很简单:不专业。但是问题是,既然你丫没打算做个专业的图片站,干嘛不闪开让专业的来?
每次看到文青们把从各种地方看到的有趣图片搬到豆瓣去,有的被缩小后连文字都看不清了,于是下面的留言里面一堆堆的“求大图”,我都觉得蛋疼得紧。我可以理解文青们放弃了对质量的追求以及因为智商的限制,只想用一个最傻瓜的上传图片并显示的功能而已。但是当你从别处搬运过来的图片被缩放得连J点都没了的时候你都没发现,难道你传上去后就再也没看过么?
不是题外话的题外话,UNIX哲学中最重要的一点是:“Write programs that do one thing and do it well”。这句话翻译成通俗的中文,就是:一个程序只用把自己该做的事情做到极致,其他的“闪开,让专业的来”。
在这样的哲学下,才能诞生诸如grep, awk, sed之类的伟大程序。它们只专注于自己应该做的事情,比如awk不会去管排序的事情,grep只管过滤不管替换。你需要它们不提供的功能?管道一下用别的干这个的程序继续处理就好了。这样的结果就是用来干你的复杂需求的每一个功能的程序都是最专业的最好的,最后得到的结果自然也是最快最好的。一个常见的例子是列出apache log中排名前20位的访问IP:
cat /var/log/apache2/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 20
Mashup显然也是来自于此。
tags: network, mashup, lastfm, douban
23:42:54 by fishy - 程序网络 - 永久链接
Thursday, November 04, 2010
在五十步和百步里面二选一
最近你们兲朝互联网热闹了,两大巨头打起来了。
当然我既不是你们兲朝互联网用户也不是你们兲朝Windows用户,这俩傻逼掐架当然是与我无关,我恨不得这俩同归于尽才是最好。但是理想跟现实总是有差距,想让两个都死是不大可能的,最好的结果也就是死掉其中一个。
那么死哪个呢?还是得在五十步和百步里面选一个。
水木上前两天有篇文章写得不错,不过被合集了,这里转载一下,原作者swiftcar:
good, 被m了,我说也一个事,希望版主也标记一下。
我来说说360跟QQ的区别。
我们以跟百度竟争为例,来说明360和QQ会如何对付百度。
比如,现在百度出了搜索了,很赚钱,360跟QQ都想做搜索。
QQ会怎么做呢?会做一个搜索,跟你正面竟争,希望用户来用
最多在QQ里推广一下,最多在安装QQ的时候给个选项把浏览器默认
搜索引擎设置为QQ的搜索,然后默认勾上,必须手工去勾才不设置。
最多也就这样,用户选择余地还是很大,QQ的搜索也很难成功推广。
360会怎么做?首先,说你不安全,然后给用户个很低的评份,
只有把搜索换了,分才会高。然后,会去掉你的搜索结果里的所有推广
说这些都是广告,害人的啥的(尽管很大程度的确是)然后用户欢心
终于出来一个帮我们的人了。然后说360搜索没广告,更快,更安全
没骗子。然后你要是手工输入baidu.com , 360实时监控会说你尝试
进入不安全的网站,给你重定向到360搜索。
总的来说,QQ虽然有点霸道,但也是名门正派,360就是背后插刀子。
所以QQ并没有干倒百度,也干不倒淘宝。充其量只有很大的威慑力存在。
而360要是大了,中国还能不能存在其它互联网公司,就很难说了。
另外我要补充一点的是,以后各位兲朝Windows程序员写程序不用看Windows API的文档了,反正所有的API都被他们hook掉了,直接看360的文档就好了(如果有的话,360 bless you)。
虽然你们兲朝互联网已经足够悲哀了吧,但是如果最后被一个靠收保护费过活的公司控制,还是会更加悲哀一点的。
tags: internet, china, qq, 360, malware
12:58:26 by fishy - 程序网络 - 永久链接
Sunday, August 15, 2010
换硬盘倒Mac OS X
SC2 is coming! 然后我辛辛苦苦下下来后发现,这玩意又是一个不支持case-sensitive分区的东西。
为什么要说“又”呢?目前已知的不支持case-sensitive分区的程序包括:
- 据说Adobe的若干CS系列东西不支持(不过我都没用过,我用过的Lightroom,Reader啥的倒是都支持);
- 微软的Remote Desktop Client,其实这个可以用,只是会生成一个无比傻逼的“/users/fishy/library”目录而已(我用CoRD替代);
- Steam Mac版在安装的时候会直接拒绝安装到case-sensitive分区上;
- 我实在想不起来还有啥了。。。
所以你看,基本上对生活影响不大的。所以作为一个程序员,我自从被case-insensitive分区搞过一次后,就在06年硬盘坏掉换硬盘的时候,顺便改用case-sensitive分区了。
但是还是Blizzard面子比较大,因为SC2,我决定换回case-insensitive了!于是我就上网订了个500G的硬盘回来换上,然后开始装系统倒数据。
在Mac下想要换硬盘倒数据,有这么几种方法:
- 原来的数据备份,然后安装的时候选从Time Machine备份恢复;
- 原来的盘接上安装的时候直接用disk utility的restore功能全盘复制;
- 装一个新系统,装好后接上原来的盘用Migration Assistance。
因为以前我有过从Time Machine备份恢复的成功经历,于是这次首选的是这个方案。结果悲剧发生了,恢复到一半的时候,安装程序崩了。。。
于是接下来尝试restore的方案,结果虽然我先创建了case-insensitive分区然后从之前的case-sensitive分区恢复,最后恢复的结果还是case-sensitive的。。。于是又是失败。
最后只好选择重新安装然后用Migration Assistance。装完系统后装更新,然后用Migration Assistance。第二天早上起来看这个东西到底给我转移了哪些文件:
- ~(用户目录)下,所有的.开头的配置文件全部转移过来了,然后Documents和Downloads被转移过来了,甚至连Boxer创建的DOS Games目录也转移过来了,但是其它所有的目录都没有转移,包括Apple自己的Movies、Music和Pictures这样的目录。这实在是个很无厘头的结果,我想不通为啥他连DOS Games这样的目录都转,却不转那些他推荐用来保存音乐照片的目录。
- /(系统目录)下,基本上啥都转过来了,VMWare Fusion不需要重装可以直接用(之前10.5升10.6的时候还需要重新安装一次的),我装在/Library下面的POPFile也直接可以工作,甚至连/etc/hosts文件也保留了。但是MacPorts挂了需要重新来(可以参考官方的升级Snow Leopard指南),然后重装MacPorts的时候发现,Xcode装到/usr/bin下面的东西全没了。考虑到我只有Xcode往/usr/bin下面写了东西,应该是/usr/bin没有被转移。但是/usr/local/bin是安全的。
于是我又挂着老硬盘rsync了半天,最后终于搞定。搞定后顺便也装了个Steam,不过啥游戏都没从那上面买。。。
tags: computer, apple, mac
18:25:58 by fishy - 程序网络 - 永久链接
Monday, March 01, 2010
Google Apps真是后妈养的
当年Apple刚发布iPhone的时候,偷偷打开了Address Book跟Google Contacts同步的功能 (要连过iPhone的机器才有这个功能,后来Snow Leopard才全面放开)。我因为帮杨爷折腾过他的iPhone (btw, 这个iPhone后来神秘失踪,加上我们家的马桶经常堵,我们都怀疑是杨爷那天失忆的时候掉马桶了,真是悲剧),所以也能用这个功能,于是就把我的Address Book跟Gmail同步了。
因为当时Address Book上都是存的手机号,Gmail上都是存的邮箱,于是同步后手工合并了一些删掉了一些 (Google官方出Contacts Merge功能是在N个月之后了),然后就悲剧了,那些合并的时候删掉了原Gmail那一份的或者直接删掉的联系人,在gtalk上也消失了。于是我又费了好大劲才把这些人加回来。
被这么搞了一把后,当然就学乖了,正好我还有个个人的Google Apps账户,于是就改为Address Book跟这个账户同步了,因为这个账户反正不跟人聊gtalk,尽量不去动Gmail账户。
就这么过了几年,买了Android手机,因为Google Apps账户上面有我的保持同步的联系人资料,所以显然手机也是跟这个账户同步的 (第一个Android手机是1.5的,只能同步一个Google Account)。
然后就发现了在Android上用Google Apps账户而不是Gmail账户的各种悲剧:
- Google Checkout不支持Google Apps账户,不过鉴于此Market允许我再在Market里面绑定一个Gmail账户用来使用Google Checkout,所以这个还是最不悲剧的。
- Push Gmail只能Push同步的那个,不过这个也不是问题,反正我Google Apps账户里面的邮件更重要更需要Push,Gmail那个无用邮件太多。
- 自带的Talk也只能用绑定的那个账户,于是我要跟人聊gtalk还是只能下个第三方的XMPP Client。
- 最重要的:Google Maps里面的Latitude*支持*Google Apps账户,所以不给我绑定另一个Gmail账户的机会,于是我原来在别的手机上用Gmail账户加的Latitude好友都没了,而Google那些网页上的附加功能,比如Latitude History,用Google Apps账户是登不进去的。我在非Android手机上都可以同步Google Apps账户的Contacts和Calendar,然后用Gmail账户上Google Latitude,结果到了Google自家的手机系统上反而不行了,所以Google真是古往今来第一大公无私公司。
后来,主要是因为Android 2.1有同步多个Google Accounts的功能,我换了Nexus One,结果悲剧没有减轻多少:
- 同步的多个Google Accounts是有一个Master Account的,而Market的软件购买状态是根据Master账户来存的。虽然我在Market上买软件用的是Gmail的Google Checkout,但是我用Gmail作为Master Account是不承认我买过那些软件的,还得用Google Apps那个才行。所以我还是得用Google Apps账户作为Master Account
- Talk还是只能登Master Account,我本来期待着能几个账号一起登的。。。于是我还是只能用第三方XMPP Client。
- Google Latitude还是只能用Master Account!而且出了Buzz后Google Maps里面的Buzz支持也只能用Master Account,而Buzz不支持Google Apps,所以这个功能就直接被隐藏掉了。
所以事情就是这样了。。。虽然Yang Fan老师安慰我说Google Maps的接下来几个版本内就会加上其他同步账户的支持,不过不知道要等到猴年马月了。所以在这个传说中的版本出来之前,各位如果想在Google Latitude上加我的,麻烦加我的Google Apps账号。
tags: internet, google, apps, gmail, android, maps
15:29:46 by fishy - 程序网络 - 永久链接
Sunday, February 28, 2010
Geotag your photos
标题的意思是给你拍的照片(jpg的EXIF或者RAW的tag)加上地理信息(经纬度和海拔高度)。为什么要这么做这里就不讨论了。这篇文章只是总结一下Mac下可以如何做。
Geotag分两种情况:一种是根据GPS log来得到照片的位置(根据时间来同步),另一种是没有GPS log的时候根据记忆在地图上标注。当然其实还有一种情况是相机自带GPS(比如手机)或者相机连了个GPS(某些高级相机)拍照的时候就tag了,这种情况就不说了。。。
有GPS log的时候,有下面几种方法:
- GPSPhotoLinker:免费,支持E-P1的RAW(我只有这一款带RAW的相机所以只能测试这一种RAW格式;这篇文章里的所有软件都支持JPG所以就不说JPG支持情况了),可以选择前一个点、后一个点或者前后点的加权平均,支持同时load多个tracks,支持自动给一堆照片geotag。除了经纬度和海拔高度外还能写城市名信息(通过google之类的服务器根据经纬度拿到)。支持时间误差修正。基本完美。
- Aperture 3自带的Places功能:支持所有Aperture支持的RAW(这句话好废话),支持同时load多个tracks。不过tag的时候不能自动tag,只能自己往地图上的track上拖。拖的时候会提示你这段track与你的照片的时间差,但是这个时间只精确到分钟。我的GPS是一秒记录一个点,所以其实我是需要从60个点里面选一个。对于移动速度很快的log,比如WC同学最喜欢的在火车上记GPS log,这个只精确到分钟会是个大问题。另外照片很多的时候只能自己一张张的拖也很麻烦。UPDATE: 发现Aperture也有根据时间自动assign的功能,貌似要拖一两张照片上track后才提示你使用,没有找到别的入口,真不知道Apple是怎么想的。。。
- Jeffrey’s “GPS-Support” Geoencoding Plugin for Lightroom:免费(是说plugin不是说Lightroom...),支持所有Lightroom支持的RAW(还是废话),只支持一个track,能自动给一堆照片geotag,精确到点,支持时间误差修正。
用GPS log的时候记得把相机的时间设置好。因为GPS的时间是绝对精确的,所以相机的时间也要尽可能的精确。
没有GPS log的时候有下面几种方法(都不支持海拔高度信息):
- Geotagger:免费,*不*支持E-P1的RAW,与Google Earth配合,把照片拖到Geotagger上的时候自动Google Earth当前中心点的坐标写入照片。
- Aperture 3自带的Places功能:支持所有Aperture支持的RAW,直接把照片往地图上拖。需要注意的是国内的Google Maps地图是有偏移的,卫星图暂时没有偏移。
- Jeffrey’s “GPS-Support” Geoencoding Plugin for Lightroom:免费,支持所有Lightroom支持的RAW,也是跟Google Earth配合,写入Google Earth当前中心点的坐标。
所以目前我的选择是有GPS log的时候用GPSPhotoLinker,没有的时候RAW用Aperture 3的Places功能,JPG用Geotagger。
PS: 关于GPS log,可以用手机记(GPSed, Maverick等),但是不推荐,因为实在是很费电。我在去马来西亚用手机记了若干GPS log后实在忍不了这个费电速度,回来后找WC买了他的二手Columbus V-900。这款GPS除了话唠了一点(插拔TF卡也要很大声的beep一下,就更别说开机关机之类的了)和电池稍微弱了一点外基本完美。WC卖给我后买了个别的GPS,用了一阵受不了,又去买了个V-900。。。
PPS: Apple在这么久以后终于肯支持E-P1的RAW了。别人问我Lightroom有啥高级功能是Aperture没有的的时候我终于不用回答“比如支持E-P1的RAW这样的高级功能”了。
tags: mac, gps, geotag, photo
02:12:34 by fishy - 程序网络 - 永久链接
1 条评论 - 还没有引用通告 - 得分: 13 [+/-]
Sunday, July 26, 2009
豆瓣怎么了
我对豆瓣不满很久了,也早就号称要写篇blog骂一下。但是你们知道的,我每天下班后要看片、玩游戏、玩滑板、做饭、吃饭,周末了还要睡懒觉。我很忙的。所以这篇blog也就一拖再拖。
不过在这么一个洗完了澡要等头发晾干又不想看个片两个小时后再睡觉的夜晚,我终于决定写这篇blog了。Here we go.
首先从首页推荐说起。这个东西一向都不靠谱。我也学过ML(想歪的自己面壁去),知道这玩意做不到太靠谱,但是以前好歹偶尔能推荐点好东西,比如曾让我知道了Tizzy Bac。但现在呢?来先看第一个截图:

好吧我最近确实看了The IT Crowd而且打了四星,说明我很喜欢这个片。但你至于给我推荐俩相关垃圾条目么?至于这俩为啥是垃圾条目,后面会说。
再来看推荐评论部分:

这几个评论貌似都没啥大问题。我这里给出截图主要是为了看图说话比较方便。这里显示的“摘要”我数了一下,大概是一行40个字,所以是一共不超过200个字。需要注意的一点是最后的“...”,即使是这篇评论一共就不超过200个字全部显示在这里了,这个“...”也是一定会出现的(这样显得比较有文化嘛)。我就遇到过豆瓣给我推荐的这样的评论,从“摘要”文字实在是看不出来他为啥要推荐给我,于是作为一个好奇心旺盛的人,我就点进去看了一下,发现原来那个不是摘要而是全文,而全文完全就是那种看完片随便感慨一下的完全没有信息量的评论。于是我更加好奇豆瓣为啥要把这篇评论推荐给我了,就进一步点开了评论对应的电影,然后看到了一个华丽丽的“正三角”(也就是说大部分评分都是一星二星的烂片),而这个片子的相关条目里面也没有任何一个是我看过甚至听说过的。于是我一直到现在都没明白豆瓣为啥要推荐这篇评论给我,难不成是为了故意恶心我的?这个例子也许稍微极端了一点,但是根据我的经验,自从豆瓣首页改版成这样后,推荐的评论有一小半是200字左右的毫无信息量的评论(虽然它们对应的并不全是正三角烂片)。
作为一个Web 2.0网站的个性化首页,信息量如此的少,真的算得上是奇闻了。
接下来咱们来解释为啥那俩The IT Crowd的相关条目都是垃圾条目。
先说那个“IT一族”的条目。这个其实是美国人翻拍的,在pilot出来后就被fans骂到砍掉了的版本。所以即使豆瓣推荐给我,我也没处看去。如果在豆瓣上搜索“The IT Crowd”,第一个结果会是这个被砍的美版,第二个结果会是第三季,到了第三个结果才是真正的代表全剧的原始英国版。豆瓣给出这么一个神奇的排序,也就不能怪用户把两个条目搞混了。
再来说那个“IT群英 第二季”。豆瓣官方是承认IMDb在电影电视资料上的权威性的。在豆瓣上添加影视条目的时候,IMDb link是作为唯一互斥参数出现的,对应书籍和音乐的ISBN号。也就是说,你不能在豆瓣上建立两个条目让他们拥有同样的IMDb link。美剧和英剧会分季(season),于是豆瓣上的粉丝就会很有爱的在建立电视剧的条目后,再来建立第二季、第三季、第四季……的条目。对你也注意到了,没有第一季,因为一般那个不写“第X季”的条目就是用来表示第一季的。我们来看看这些条目的IMDb link。The IT Crowd的IMDb link对应的是IMDb上整部电视剧的条目,而第二季的IMDb link对应的却不是IMDb上的第二季的条目,因为IMDb根本不会给某个电视剧的某一季建立条目。这个IMDb条目其实是The IT Crowd第二季第一集的条目。IMDb会给一个电视剧和这个电视剧的每一集建立条目,但是每一集的条目是IMDb不鼓励大家用的,因为你在IMDb里面不管是搜剧集名还是那集的名字都是搜不到的(神通广大的豆瓣上的粉丝可能是用google搜到的?)。豆瓣上的粉丝给每一季建立条目的目的大概是为了能够不用把这个剧长期挂在“在看”的状态下而能更快的改成“看过”并打分(看过所有季和看过一季的区别),但是你们这么有爱的话,明明可以学IMDb给每一集建立条目嘛,这样还能更快的改状态和刷收藏。但是由于这样的粉丝太多,好多剧全剧条目和第二季、第三季……条目会被粉丝同时收藏,于是豆瓣就很容易把他们聚到一起,于是基本上我看过什么剧豆瓣就会给我推荐它的第二季、第三季……妈的我看过全剧了好不好!还好我看美剧不多,不然我觉得首页出现六个“XXXX 第二季”的推荐也不是不可能的。
与这个类似的情况是书和CD的不同版本。这个倒不算垃圾条目,但是我看过一九八四上海译文版你就给我推荐辽宁教育版,或者我听过A Night at the Opera你就给我推荐国内版的事情也没少干。一定要我看过一本书/听过一张专辑的所有版本你才能满意么?
豆瓣上的粉丝的能耐可不止第X季条目。他们还能时不时的暴民专政一下或者在每个电影上映前穿越一把(此链接在电影上映前有效)。OK你可能会说这些都是粉丝行为跟豆瓣无关,但是网站用户的行为都是网站培养、引导的。当一个网站聚集了一群傻逼用户的时候,你能说这个网站不傻逼么?IMDb也有广泛的用户群,但我从来没有看到哪个片子在上映前能在IMDb上拿到超过5个评分(IMDb上超过5个评分才显示得分);IMDb上虽然也有fanboys在刚上映的时候猛打10分甚至打进top 250,但是一般一两周后该不行的片子肯定在top 250里面留不住。你能说IMDb的用户群比豆瓣的用户群平均智商高么?这显然更多是网站努力引导的结果。豆瓣就这么放任着暴民专政和穿越大军,结果只能让自己越来越傻逼。
豆瓣还有个一直没解决的问题就是书托问题。只要是在国内出版的畅销书,那么豆瓣上的评论和评分一定是不能参考的,因为你会在条目下看到一水的五星书评。甚至还有牛逼的五毛党把书托行为成功的包装成了时髦的行为艺术,发动群众的力量来做书托。
认真的说,我觉得如果豆瓣把他招去管内容,说不定能解决我上面提到的所有问题。
tags: internet, douban
03:18:00 by fishy - 程序网络 - 永久链接
2 条评论 - 还没有引用通告 - 得分: 11 [+/-]








