Oasis Feng

Archive for the ‘Internet’ Category

Dropbox使用技巧拾零

Dropbox可以算是文件云同步领域的鼻祖了,即使不是最早出现的,也是第一个推动云同步向普通互联网用户普及的。Dropbox的成功并非偶然,其强大而且独一无二的功能和技术是支撑其用户忠诚度的基石。作为一个Dropbox的早期用户,使用至今,有些小经验小技巧,在这里与大家分享一下,希望能帮助大家把Dropbox的作用发挥到最大。 值得信赖的差量同步 『差量同步』是Dropbox相比其它同类云同步工具的核心技术优势。其效果可以简单理解为,文件的变更只需同步变化的部分,为用户节省流量和时间。差量同步所带来的好处其实还不仅仅是文件的变化同步更快,你还可以随心所欲的将文件或整个文件夹从Dropbox下的一个位置移至另一个位置、更名,甚至拿掉一段时间之后再放回来,它们都不必重新被上传到服务器。而其它云同步工具就未必能这么省心了。 Dropbox的其它一些特性,也是建立在这个机制之上的。就拿『文件历史』功能来说,别担心Dropbox会消耗数倍的空间来保存文件的历史版本,其实它只是保存了多个版本的差异,这样消耗的空间通常是非常少的。 得益于强大的差量同步,你甚至可以在Dropbox之上构建其它存储技术,并保持高效率的同步。比如在Dropbox中使用TrueCrypt,由于后者对加密数据的变更作用到卷文件上体现为局部的变化,所以可被Dropbox高效的同步,而完全不必担心一点变化而导致整个庞大的卷文件需要重新上传,这是其它一些云同步工具所无法比拟的。不过,在这类场景下需要非常小心『变更冲突』可能带来的不良后果(产生两份不和谐的副本),尽可能不要同时在多处对数据进行修改。 善用选择性同步(Selective Sync) 选择性同步是Dropbox早期呼声最高的期望特性,没有之一。不过这个特性足足让大家等了一年多,才最终被开发团队满足。背后故事的曲折就不赘述了,好在现在的这套实现方式应该还算是比较让人满意的。选择性同步的使用场景非常广泛,下面简单列举几个,大家也可以根据自己的需要自由发挥: 避免在非主用电脑上同步包含备用资料、音乐、视频的大文件夹。 避免在笔记本电脑上同步敏感私人数据。 避免同步.svn文件夹,最好配合支持归一svn文件夹的新版SVN客户端。 避免同步系统或应用程序频繁自动生成的文件,比如某些临时文件夹、Java开发工程的target/bin/gen文件夹。 避免同步与本地电脑环境(如绝对路径)相关的数据,比如引用了绝对路径的Java工程中的.project文件、某些应用程序的配置文件。 …… 更简单实用的分享功能 Dropbox发展到今天,共享功能几经优化,已渐趋完善。现在你不仅可以在网络上开放的分享Dropbox中的某个文件或文件夹,而且还能有选择的在几个朋友或同事之间私密的共享一个文件夹,并保持它在多人之间的实时同步。多人共享功能需要其它人也有Dropbox账号,但不必一定使用客户端。现在我就经常利用多人共享功能和朋友共享一些技术书籍电子版、合作收集一些素材、交换最近出行的照片,甚至替代SCM工具直接作为简单开发工程的多人同步方式。因为简单,所以方便! Git over Dropbox 这里特地把Git拿出来单独讲,是因为我在这个使用场景下摸索了一段时间才找到最佳的使用方式,与大家交流一下。通过Git分布式的管理代码是现在主流的SCM解决方案,但在多人之间协作时,往往还是绕不开一个中心服务器。Git Hub或者Bit Bucket是不错的选择,但繁琐的配置和网络的等待让这个方案变得有点难受。其实Git over Dropbox就是一个简单易行的入门级解决方案,不仅适合小团队,还可以用作个人的代码管理。 如果是个人使用,我倾向于直接将整个工程,连同.git子文件夹一并放在Dropbox上。表面上看起来是有些冗余,不过好处是,不仅git中的数据在云端自动备份,尚未commit的代码也保证了同步,方便有时即使有尚未写完的代码,也不必为了保持同步而commit进去污染仓库,回到家里还可以继续调试完善。 倘若需要多人协作,则建议将工程与git分离,只在Dropbox上创建bare repo (git init –bare),大家将各自Dropbox中同步的bare repo作为remote进行push/pull或clone。不过,这种方案其实是以让渡一致性换取异步同步的便捷性,所以不适合大量开发人员的频繁git操作,那样容易引入让人头疼的同步冲突。 正确使用『内网优先同步』 这是Dropbox从很早版本就支持的一个特性,但却鲜有人知晓和使用。这个按照简单原则所设计的产品功能,在现实情况下,往往并不如其所设想的那么奏效。『内网优先同步』要求同步的多点在同一个子网(广播域)下,所以如果电脑之间的连接跨越了路由器,则在物理上阻断了这个特性的正常工作。 另外,防火墙也必须允许Dropbox的端口侦听。需要注意的一点是,当Dropbox检测到防火墙阻断其端口侦听时,会自动关闭这个功能,所以在正确设置了防火墙之后,还应检查Dropbox的配置中是否激活了『Lan sync』。 值得一提的是,『内网优先同步』除了可在同一账号的多台电脑间快速同步文件外,还支持多人的共享文件夹同步。所以小团队在局域网内使用这个功能是一个非常简单而高效的文件共享解决方案。 奖励空间的最大化 Dropbox依仗其技术优势和行业地位,在空间的给予上明显有些吝啬了。普通注册用户只有2G空间,通过邀请注册勉强能得到2.5G的初始容量,不过只是杯水车薪了。其实,Dropbox提供的一些空间奖励计划能帮你快速增加不小的空间,而且操作难度并不大,比如邀请一个好友可以得到500G空间(本来还想写如何认证学生账号获得双倍奖励,可惜最近也给扯平了)。 其实,有一个隐藏颇深的奖励任务入口,可能大部分Dropbox用户都未必发现并完成了其中的任务。完成诸如链接Twitter/Facebook账号、follow @Dropbox、发表感言等小任务,就可以得到640M的额外空间,虽然不算多,倒也不拿白不拿。 如果你还不是Dropbox的用户,觉得我写的这篇内容还算有用,让你有了一试Dropbox的冲动,那么不妨用我的推荐链接注册,咱俩各获得500M的奖励空间,何乐而不为呢? (:

时代的弥思(2)——角斗士的悲怆

把刀用力刺进另一个人的身体里,观众会为此向你喝采、崇拜你。 而你,也会开始为了喝采声,而爱上他们…… 最终,我们都会化为一堆枯骨。 可悲的是我们无权选择命运,但有权决定如何面对死亡。 唯有如此,才能像个人一般的。被人们追忆。 ——电影《角斗士》   对角斗士而言,荣耀之外,就只剩下深深的悲怆。他们无法为命运抗争,因为在那个时代,他们仍旧是奴隶,只是比其它的奴隶活的更体面一些。 奴隶社会脱胎于那个崇尚『各尽所能、按需分配』的原始共产主义,看似是一种倒退,但却有其内秉的必然性。生产力的大幅提升,尤其是手工业的出现,推动了财产公有制向私有制的转变。人性中的私欲第一次在部落内部被显著的激发,催生了背叛、对立、压迫和剥削。战俘和刑律只是蓄奴开始的幌子,对财产的占有和对资源的控制成为了奴隶社会的阶级基础。而正是这种不平等的阶级基础,为奴隶主阶层集中了强大的势力,在那个弱肉强食的时代,历史发展的车轮本能的选择了强者。强者愈强,弱者愈弱,阶级社会从此诞生。 可是,在我们感叹于教科书上对那个久远年代略带嘲弄的描绘时,有多少人真正意识到,我们正在又一遍重演这个无法阻挡的历史进程?或许看起来并非那么的雷同和明显,但背后左右社会演进的冰冷规律却是惊人的一致。互联网正在你、我、及每个人眼前,迅速的从那个曾经自由、无私的原始共产主义社会大步踏上走向奴隶社会的不归路…… 这并不是危言耸听,请试着回答以下两个问题,然后再回头审视上面的结论: 互联网的『自由』和『免费』精神,是否正在被Facebook、Apple,甚至曾经高举这面大旗的Google所边缘化? Web所倡导的『开放』与『互联』的精神,是否正在被社会化网络所筑起的一道道高墙所摒弃和切断? 或许这些问题你早已察觉,也有所思考,但也丝毫不觉得这妨碍你拥抱Facebook和微博。这种心理状态是完全可以理解的,因为几千年的奴隶们也是这样想的。他们明知自己是被压迫和奴役的,但却极少主动抗争,甚至安于现状。 毕竟做牛做马总归有了归属、有口饭吃,好过虽然自由但却食不果腹的流浪生活,就像SNS的藩篱虽然限制了诸多自由,却能让你走出一个人的孤单,融入朋友圈子的氛围。 而如果能替一个显赫的贵族干活,可能还会在卑微的内心中有那么一点小小的优越感,就像是在微博上看到自己突然被一个名人关注而小小的激动一下。 进而,如果你比别人更强健敏捷,甚至还有机会被训练为专业的角斗士,叱咤于古罗马雄伟的斗兽场,让数不清的贵族为你呐喊喝彩。这就好比当你成为微博上的意见领袖,弹指之间就能『通电全国』,引来众粉丝的摇旗呐喊、疯狂转发。 其实,当我们深深沉醉在这种被奴隶的快感之中时,那些高高在上的奴隶主已经在微笑的数着自己手中的钞票和股权了。Facebook 500亿美元的估值是谁创造出来的?新浪微博新近获得DST 2亿美元投资的背后是谁的汗马功劳?他们会把这万亿用户共同创造的商业价值拿出来分给他们的用户么? 不会,因为他们是奴隶主。你可曾见过奴隶主把自己的财产分给手下的奴隶?他只会以恩赐的姿态把吃剩的饭菜分给众奴仆,还会刻意控制这种赏赐,让下人感到弥足珍贵,从而知足感恩。 无论是《Facebook效应》,还是华尔街的商业杂志,都会将Facebook的巨大成功渲染为扎克伯格传奇的创业经历,让更多的美国草根民众憧憬和向往一个虚无缥缈的创业梦。就像在那个年代里人们都会用崇敬的目光仰视骑在马背上那些光鲜的贵族,而鲜有人会去质疑他们的剥削和压迫,因为一个社会的价值观总是其中的成功者所塑造的。在我们嘲笑那些没有尊严、甘为牛马的奴隶时,可曾想过我们或许也一样会被后世以同样的方式所嘲笑?即便是微博里数万粉丝的意见领袖,在后人看来,可能也不过像是我们眼中的角斗士…… 只是,不知道他们可曾有发出过似本文开篇那样悲怆的自嘲?

时代的弥思(1)——这是一个什么社会?

『这是最好的时代,也是最坏的时代』,周围的人常常这么感叹,但对这个时代的理解,却是仁者见仁智者见智。既然谁也说不清楚这到底是一个怎样的时代,反正离世界末日说不定也剩不到一年了,那我也就不惮来发表一下自己对这个互联网时代的拙见,算是为这个博客扫扫门前积雪吧。 2011年,读了两本有意思的书,一本是上半年老陆赠予的《Facebook效应》,另一本是年底前在亚马逊上购买的《认知盈余》。两本书我都是抱着批判的心态来读的,对前者的批判是启发我思考的线索,每当我的思路陷入停滞的时候,我只要翻开《Facebook效应》来读一读,并顺着书中理论的反方向走下去,就豁然开朗了;对后者的批判并不是我的目的,但每当我的模型遇到挑战时,就翻开《认知盈余》相关的章节,试图从中发掘破绽,这些破绽往往能指引我化解模型中的矛盾和冲突,让它重归优雅。所以,我非常感激这两本书,它们让我在2011年末经历了一次有生以来最为激烈的头脑激荡,并为我的2012年指明了方向。

评价机制在C2C网购发展历程中的浮沉变迁

和不少人聊过关于网购的评价机制,尤其是C2C模式下的评价,大部分人都会抱怨淘宝或是拍拍现有的评价体系中存在着这样那样的问题。但实际上,评价机制也是随着C2C市场环境本身的变化,而在发生着相应的改变。只不过有时候市场的变化很快,走在了前头,而评价却有些跟不上脚步…… 第一阶段:网购市场的圈地时期 在网购诞生的初期,C2C市场可以说是一个冒险者的乐园。大部分在这个时期接触并开始网购的人,都能回想起那种“提心吊胆”的网购感受。那个时候,市场其实还很单纯,并没有多少投机的商家,尤其是在淘宝推出“担保交易”的背景下。 初期的C2C市场,需要的是高速的、爆发性的增长,网购相关的机制设计都围绕着这个中心展开,评价也不例外。“好中差评”机制虽然从现在的眼光来看,有着种种内在的缺陷,但在当时的历史条件下,它所强调的“量”的积累价值和对“好评率”的追求,承载了拉动和助推网购高速发展的关键作用。 第二阶段:爆发式增长后的巩固时期 当C2C网购经历了初期的爆发式增长后,市场规模已变得日渐庞大。这个时候,必然会出现各种各样的市场秩序搅局者。“好中差评”的方式,也开始逐渐暴露出其负面的问题:

从胶水到运河——Google Wave的战略使命

  先来看一下Google的愿景及其诞生至今的战略布局。Google的终极愿景很明确,也几乎没有改变过,那就是:“整合全球信息,使人人皆可访问并从中受益。” 这句话讲的挺有技巧,整合全球信息,并非简单的供你们搜索和访问,“从中受益”,那前提是Google需要充分从这些信息中挖掘出价值,而后才能造福大众。“掌握和控制信息”是Google所有从属战略的核心。   第一代搜索引擎所代表的是“整合互联网静态信息”的愿景,Google借助其强大的搜索引擎和海量存储成功的树立了搜索领域的霸主地位。在这个年代,整合互联网信息的方式相对比较直接了当,那就是“蜘蛛+索引+搜索”。大部分静态内容都是可以方便的直接访问到的,因此Google只需要构建一个巨型索引就可以达到整合信息的战略目的了。

探究Google的Iterative Web App软件架构

Google的软件架构向来是最吸引广大开发者的眼球并被人们乐此不彼的津津乐道,尤其是那些运作在Google最杰出服务背后的软件架构。 Google在2004年“愚人节”推出的Gmail服务可以说是Google众多服务中,除搜索外最杰出的典范之一。Gmail在过去五年多的时间里,也经历了一个持续发展和演进的过程。新功能的推出和用户体验的改善或许是大家谈的最多的,但其底层架构的变迁却并不常常能被用户切实感受到。其实,正是因为Gmail底层架构的不断升级,才支撑其众多新特性和功能的更快开发并上线。 早在2007年10月,Gmail的官方Blog上就曾经发表过一篇关于其架构变迁的文章“Code changes to prepare Gmail for the future”,其中提到:

Twitter启示录

Twitter的成功,证明了挖掘已有产品间覆盖交叠的薄弱地带,面向用户需求作精确的定向设计,并不需要提供强大的功能,也能脱颖而出,创造一片蓝海。 蓝海是怎样发掘的 在Twitter这种微博客形式出现之前,博客(Blog)和即时消息群(IM.Group)是两种泾渭分明的在线交流形式。博客以博文为中心,辅以评论作为异步交流的空间;而即时消息群则强调实时性和直接交流。前者由于其过于中心化的倾向,弱化了交流的过程,而且过于依赖博文作者的写作意向;后者因其受众的相对固定性,难以充分满足个体的自我表达欲,同时也阻碍了更为广泛的交流,使得讨论主题不易凝聚。 如何才能兼顾博客“自我中心的表达”和即时消息群“及时广泛的交流氛围”,Twitter给出了答案。通过限制字数来有效降低博客的写作门槛并拓展其题材空间,鼓励更多的普通人群加入自我表达中来;另一方面,引入follow机制,吸收SNS的理念,增强了交互的广泛性和及时性。虽然最终的融合使得Twitter上的消息既没有博客看起来那么正式,也没有即时消息群那么及时和活跃,但却有效的弥补了两者的不足。满足用户最切实的需要是Twitter成功的关键。 简单和开放铸就成功

Twimoby is ready for closed-beta test

Twimoby (follow us on Twitter) is a web service mainly focus on mobile twitter experience. At present it is only tested on Nokia S60/Symbian platform. Features: No client needed. Just use the built-in Email client in your phone to access most of the twitter services. (need IMAP support in the Email client, S60 confirmed) Public [...]

广域对等分布式集群中的不确定性原理和时空相对性

根据量子力学的海森堡不确定性原理,你无法同时准确的测量出量子的位置和动量。不过他们宣称不确定性原理只有在微观世界中是可察觉的。 根据相对论的时空观,时间和空间都不是绝对的,只有真空中的光速是不变的,因此运动中参照系拥有变慢的时间和压缩的空间。但他们宣称相对论效应只有在极高速的运动中才足够明显。 今天,我要向各位揭示的是,在常规世界的广域对等分布式集群中,你可以见证不确定性原理和相对论效应的和谐共存: 从任何一个具有监测能力的节点上观察集群中出现的事件,它们符合不确定性原理:你无法同时准确获知事件发生的时间和位置。当事件所在节点被准确定位时,则事件发生的时间是无法精确获知的(因为脱离了单一节点,集群中便没有绝对的时间);当试图使时间的度量有价值时(即趋近于观察者的时间),则位置将是完全不确定的(因为此时的位置相对于观察者的时空是毫无意义的)。 集群中两个不同节点上发生的事件在时空上是完全相对的,观察结果可能因参照系(观察者节点)的不同而不同:从独立于这两个节点的其它多个具有感知事件能力的节点上观察,则不同节点可能看到事件发生的先后次序是不同的。比如节点C可能观察到A上的事件X先于B上的事件Y发生,而另一个节点D则认为是相反的。 在广域对等分布式集群的世界中,相对论和量子力学可以完美的共存,并且相辅相成。量子力学的不确定性原理是相对论效应的前提和依据,而时空相对性则从另一个侧面佐证了不确定性原理。 最后,也是最重要的一点。从上述现象之中,我们可以学到的经验是:永远不要假定对等集群中不同节点上发生的事件具有绝对的时间先后关系!也不必费尽心思去试图同时度量集群中事件发生的精确时间和位置。

Google Adsense开始针对用户特征投放广告

今天收到Google Adsense的邮件,得知Adsense网络的一个重大升级——“用户兴趣定位广告”。过去,Google是通过抓取网页内容以确定广告投放的定向性,也就是“以内容定广告”。如今Adsense将要推出的这个新特征将广告投放的定向性进一步深化,达到了“以访客定广告”的效果。这也间接印证了我一直以来的一个忧虑,Google长期以来在通过其服务网络收集用户特征,包括注册和非注册用户。借助cookie和javascript跨站交互,Google可以将其所有的服务网络串联起来,深度跟踪用户在其各类服务中的使用习惯和兴趣。尤其是前段时间推出的Google FriendConnect服务,更是将其触角延伸到Google自己的服务之外,渗入个人Blog和SNS之中。(所以在这一点上,我对 FriendConnect还是有点抵触的……) 看起来,目前Google已经掌握了足够的用户特征,可以正式在其Adsense网络中推出上述针对用户特征的定向广告投放了。对我们这些互联网用户而言,也不知是福是祸…… 还是那句话,别把鸡蛋放在一个篮子里,用户隐私也是一样。