Archive for the ‘赛伯铁客’ Category

从Blog到Facebook再到Twitter   Leave a comment

网络世界中自我展示的平台一直在发生着各种各样的变迁。

从最早的孤芳自赏(网络日记),到后来的橱窗展示(博客),再到后来的虚拟交际(SNS),以至最后又出来了一句话概括(微博)。整个这条路的发展,也恰恰就是网络从Web1.0到Web2.0的发展——当然,现在已经有了Web3.0的概念,但是在个人生活展示方面则似乎还很少有符合Web3.0的东西出现,估计在不久的将来也是会有的吧。

所谓Web1.0,就是以静态咨询(不是静态页面)为主的单向资讯传递,缺乏互动。比如最早的资讯门户网站,还比如早年的个人主页(现在看来就是一份网络个人简历嘛……就是多了留言功能……)和个人网站(和个人主页不同,个人网站中的内容更加丰富,而且有论坛这种Web1.0时代的强互动工具)。

而Web2.0,就开始提倡“自媒体”,强调个体之间的互动,以及从个体到个体的资讯分享。在这个层面上,Blog具有较弱的Web2.0特征,而Facebook这种SNS和Twitter这种微博则具有很强的Web2.0特征。

所谓的Web3.0,则开始强调全面的网络化和个性化。比如Google的iGoogle,Vista、Win7与Google的Sidebar,Win7与Ubuntu的Widget,这些都是个性化的体现;而现在流行的“云”概念,包括SharePoint、Lync、Ubuntu One这些也都是网络化的实例。当然,自从05年Google提出Web3.0到现在,3.0还只能说出于发展阶段,距离成熟还很远。

附带一说,百度的“框计算”其实也是Web3.0的一部分,是Web3.0的另一面:更加智能化的搜索。这也是Google等力推的语义网的内容。当然,百度距离真正的Web3.0搜索的距离,比Google距离它的距离要远上一光年。在这点上,百度很好地诠释了中国真正的无人能及的强项:喊口号。

从这个发展轨迹可以看出,Web的发展强调了两种精神:Free & Share——前者代表越来越关注自身的发展,后者代表了资讯的高效流通与更新。

而这两个精神,也正是Linux所代表的OpenSource运动的核心精神。

从这点来说,Linux已经打赢了Windows——改变了全球网民的思想,也就等于征服了全世界。

也正是这两项精神,决定了Web3.0在国内基本上注定夭折——与我们伟大和谐可爱的国情直接抵触的嘛。这情况就好比美国医保法案,直接违宪,所以两次夭折。当然,在中国不存在“违宪”这么一件可爱的事情。

未来网络服务商的角色,已经逐渐从当初Web1.0时代的戏剧导演转换成了提供舞台的剧场经理。这种转变也就意味着,未来的网络发展中,企业将更加注重搭建一个平台,让网民在该平台上自由发挥,而不是全力打造各种服务来满足用户——这也就是现在腾讯的WebQQ所要干的事情。平台上用户所要的服务由另外一些用户来打造并提供,这个概念的来源其实也就是iGoogle的widget,而专业级的就是Google的AppSpot和Code,直接利用GoogleAPI打造在线工具和插件。

附带一说,Google的Code(有时被和谐)和AppSpot(已被和谐)是很有意思的东西。如果说Google的Docs和Microsoft的Office Live是在线办公,那么Code和AppSpot就是一种在线编程的平台,这是很有意思的。不知道Microsoft什么时候退出.net的在线编程平台,反正Express版的.net本就是免费的,所以做一个VS Web Develop Platform OnLine也不是不可以嘛。

回到主题上。

Web1.0时代,大家都在做个人网页,但是当时这项工作也不是大家都在做,毕竟弄一个个人网页的控件很麻烦,而制作一个个人网页更麻烦。当时比较好的就是Windows自带IIS,所以只要做到IP绑定,也就有了自己的空间。而能弄IIS的人,基本上做个网页问题不大。当然,也有一些别的工具,比如ICQ的PersonalGate就能做到IP绑定,但是它不连接到IIS。ICQ自己也提供了个人网页空间,这个大概是最早的免费个人网页空间了吧。

那个时候,展现自己只是某些Geek的专利——当然,当时也没有Geek这个单词……

Web2.0时代到来的时候,博客已经开始流行了——当然,此前已经经历了Web1.0中后期的网络日记时代。

博客相对于个人网页最大的不同,就在于博客系统只需要你输入内容,而不需要考虑网页如何制作这个问题。这就将展现自我的技术门槛降低了很多。

博客系统主要提供的,就是你可以将自己的“帖子”统一放在一个“目录”里面,让别人来访问。这可以认为是把“个人主页”、“网络日记”和论坛里的“帖子”都整合在了一起。当然,博客和论坛的距离还是有点远的。比如MSN Space中的帖子就是和论坛中的帖子分开的,但是腾讯早年的digest(概念也是从ICQ得来的)则和腾讯论坛中的帖子有了初步的整合。还有推门,论坛和帖子的整合就更好了。

之后,为了更好地解决论坛和帖子的整合问题(其实是顺带的),也为了解决新闻订阅与整合等别的功能,出现了RSS订阅。

基于博客,博客系统中自然也有“评论”功能,也有了让博客可以“流转堆积”的“转发”、“收藏”和“推荐”功能。而基于博客的主人,博客系统中也有了“好友”与“圈子”。这些在新浪博客、Space、Wordpress中都有,其中新浪博客的“圈子”和新浪IM中的好友是分离的,而Space中的圈子则完全基于Messenger中的好友圈子。

在这里,其实博客系统发展到了后期,已经有了SNS核心概念的雏形,那就是“交际网”。新浪博客系统的交际网就是博客圈子,而Space中的交际网则是依托于Messenger的好友圈子。

这里不得不说一下腾讯的博客系统。

腾讯的博客系统的发展其实是很诡异的。它最早是源自腾讯论坛的digest系统,但是后来被废弃。在digest出现后没多久,腾讯单独出了一个“家园”系统,是作为“网络日记”系统而存在。这样的诡异局面维持了很久,这段时期也就是腾讯发展的停滞期,这期间就是QQ也没有多大的发展。而在停滞期以后,腾讯突然开始了大手笔,也就是延续到现在的山寨+吞噬的手段:看别人发展什么,然后扔下大规模资金山寨,接着把原创者挤兑死。于是乎,腾讯开始推出现在的“QQ空间”——Q-zone。好玩的地方就在于,曾经有一段时间,上述三个微博系统是并存的:论坛里有digest,QQ上能看到家园和空间。当然,现在似乎digest是没了,但是家园和空间还是并存。这里就有了一定的功能重复,虽然空间可以打扮得更炫,但是功能上来说其实已经没有了存在的必要。

腾讯的博客系统,基本上就等于是把市面上最大路化的功能都堆积在了一起。比如有新浪的圈子系统,也能依托于QQ中的好友圈建立好友圈子。当然,新浪等部分博客系统中有的多人联合写博客的功能在Q-zone里并没有体现出来(比如Blogger、BlogSpot和WordPress里就可以多人联合写一个博客),取而代之的,是这里有了更多的展现自我的功能,这些是超脱与“博客”之上的。

从这点来说,腾讯的博客系统的“社交化”是最好的,也是国内最有潜质诞生“Facebook”的IT公司。但是腾讯自己的核心精神:山寨,决定了中国的Facebook不可能从腾讯诞生出来——当然,中国国情也决定了中国不可能自主诞生Facebook。

简单说来,博客从最早的以个人文章为主体的自我展示平台,逐渐开始引入博客整合、交友圈和个性化,从而开始具有SNS的雏形。

尤其是腾讯的Q-zone,在传统博客的基础上更大地引入了个性化元素(这来自于早年的家园系统),而且“社交化”元素也更加多(比如和校友录的整合,个人信息的更新等等)。但是,腾讯自己的发展策略却也限制了这么好的一个系统进一步的发展——当然,Q-zone的一个最大缺陷就是客户端浏览器上必须安装Q-zone插件,而且登录速度巨慢,有段时间居然和Space有得一拼的慢……在一个大家都开始无插件的浏览器跨平台时代的时候,腾讯居然还走插件路线(这在一定程度上和3721,360的前身,发起的流氓软件路线是一致的。3Q的恩怨很深啊……)。由此可见,其实不是腾讯眼光好,腾讯的眼光是一如既往地差,但是在博客系统上,腾讯东拼西凑的山寨策略却达到了很不错的效果。还是只能说,中国的Facebook不诞生在腾讯家是必然的。

Blog从Web1.0的晚期开始发展,一直发展到Web2.0的中期达到了很强大的状态,而就在这个时候,SNS出生了。

从某种程度上说,SNS的出现其实也是Blog发展的一个必然。

Blog在后期的发展,尤其是在一些具有IM软件的大公司的发展中,到了后期已经开始专注“交友圈”与Blog的整合。MSN的Space与Messenger,腾讯的Q-zone和QQ,新浪的博客与圈子(新浪也有IM,不过没用过……),都是这样。因而,其实在后期,“交友圈”或者说“交际网”的概念已经在Blog的各大系统中酝酿了出来,但是并没有进一步得到发展——当然,如果Facebook没有出现,Blog系统的自身进化也应该会诞生出类似与SNS的东西的。

所谓SNS,其实说到底分为三部分:一,在网络虚拟世界中建立与显示中“朋友圈”一样的“交际网”;二,以个人信息作为根本;三,信息的主体不再是Blog,而是各种Page,各种Info。

再回头来比较一下Blog。后期的Blog系统,个人信息已经逐渐变得重要——比如各种IM中的个人签名,IM中的个人资料(这个其实可以说是Web1.0的个人主页的延伸或者说转身),而交际网的概念也已经逐渐成型并且变得重要。

而两者的不同,则在于SNS的交际网的本体是显示中的朋友圈(当然,在后期的发展中,这点也不再是最重要的,各种IM中的朋友圈变得更加重要,虽然这种朋友圈在一定程度上也是根源于现实中的朋友网的),这点是Blog后期的交际网的一种升华。另一方面,则在于信息的构成——SNS中的信息构成已经不单单是Blog了。虽然在Blog发展的后期,转帖已经越来越重要,但是直到SNS中,转帖才成为一种最重要的信息交流手段。

因而,从信息流通的角度来说,Web1.0是服务商生产信息,Blog时代是个人生产信息,SNS时代则是全名开始信息搬运,生产信息已经沦为了次要。

这点在Twitter中将进一步发展。

SNS的出现,从某种程度上说是MIT男孩个人的成功,但从另一个角度来说则是Blog系统发展的一个必然。大势已成,只不过是这个个人实现了这种大势罢了。所以,SNS出现并取代Blog是一种大势所趋。

在这个情况下,Facebook取代了MySpace,而且MSN还放弃了Space。

当然,要看SNS的发展,除了和Blog做比较外,还要看一下网络上另外一种信息的传播,那就是图片。当然,就现在来说,还要考虑视频。

在Blog时代,图片的分享有两种方法,一个是Blog中的相册,或者就是帖子中插入照片,但这里文字是主体,图片是点缀;另一种方法就是专门的图片分享网站,比如早年的Ofoto,后来的Flicker、PhotoBucker、Pisaca在线等等,在这里图片才是主体,文字是图片的点缀。

这方面用的不是很多,因为Pisaca后来无悬念地被和谐了。虽然我也用Flicker和PhotoBucker,但是由于我不大拍照片,所以这方面用的不是很多。从不多的接触看来,图片分享系统的发展在很大程度上走着和Blog相同的路线。到了后期,也有许多图片分享的“圈子”。比如我很喜欢NGM的图片,PhotoBucker上就有专门的分享NGM图片的圈子。

因而,图片分享的路线大致上是和Blog相同的。

但是,问题就在于,两者的发展从总体上来说,却还是平行的:文字系统归文字系统,图片系统归图片系统。

在SNS出现以后,两者有了不小的融合——SNS中图片和文字都作为信息交流的主体,因为SNS中交流的是信息本身,而不仅局限在某种信息或者某类信息。所以,SNS使得Blog“升华”的同时,也使得图片的分享有了升华。

但是,和纯文字的Blog系统不同的地方在于,将Blog移到SNS中很容易,甚至于可以抛弃Blog而“净身入户”SNS,但是图片不行。图片中的包含了用户的许多回忆,而搬家到SNS是有难度的——技术上没什么难度,但是数据流量太大,而且这样的话对图片系统服务商本身也是一种巨大的打击,后者不会肯,因为这等于自断用户源,等于一种自宫行为。

所以,在SNS中,Blog系统已经不会另外挂载,但是图片分享系统却还是会另外搭乘。比如Facebook中可以引入PhotoBucker的图片墙,也可以选择图片直接保存在Facebook中。而且,最近Facebook上的图片数据量已经成为了全球第一——Facebook的文字数据量也是世界第一,不过Twitter的日数据产生量是世界第一……

这里还牵扯到了一些Web3.0中云应用的问题,这里先不说了。

除了Blog和图片,Blog时代的后期还有一些别的信息,在SNS时代也需要考虑,不过这些相对于文字和图片来说已经显得不是那么重要,是一种小众信息——但是在Web3.0萌芽的现在,这些资讯的作用却开始增加。

比如,脱胎于网盘的各种保存在服务器上的现在成为“云元数据”的文件。最早的时候腾讯也做过这方面的东西,就是QQ网络硬盘。GetFile也是国内老牌的网盘了。国外的也有GoogleDocs等。

这些东西也是SNS时代可以传递的信息的一部分,但是在SNS的早期,这些信息的传递并不是很多,所以使得SNS时代的早期对这些服务的整合也不是很关注。

但是,在Web3.0逐渐变得重要和显眼的现在,SNS也开始逐步整合这些资源,而一些在SNS时代没落的“Blog贵族”们也开始逐渐关注这部分的内容,比如脱胎于Space中的图片保存区的SkyDrive。

后面再来讨论Web2.0时代的文件共享与Web3.0时代的文件共享之间的差异。

Web2.0时代的最后一段时间里(2005年Web3.0和云的概念被提出),SNS已经发展壮大(2004年Facebook诞生),但与此同时,另一种迥然不同的信息传播方式横空出世——Twitter(2006年,Blogger.com的创始人开创)。

从Twitter的创始人也是Blogger的创始人这点可以看出,Twitter是Blog的另一种方式的传承——SNS作为一种形式,Twitter是另一种形式,两者都表示,传统的Blog已经走向了进化的尽头,当然,并不是生命的尽头。

Twitter可以看作是一种微型的Blog,所以前者叫做“微博”。

但是,微博的发展却“进化”出了原本Blog所不具备的功能,而且是社会功能。

Twitter的出现出于两种原因。

一个原因,是早年Blog的发布主体是PC,无论是浏览器上登录Blog系统来写Blog,还是利用桌面工具(比如Writer)来写Blog,主体都是PC。最多就是再加上一些移动的平板电脑。但是,随着生活的日益高科技化,手机逐渐变成了人们生活的主体,而不再是电脑。这点的演化其实是很显然的,尤其是后来对手机功能的逐渐追加,使得手机逐渐具有了电脑的功能(电脑手机化和手机电脑化是两件不同的事情,不过在未来,这是同一的趋势)。与此同时,SNS与Blog也已经成为了人们的生活重要组成部分。在这个时候,用手机来登录和发Blog就成了Twitter出现的一个重要原因——为了便于手机发布,信息就要短,而且不必要的东西都最好不要,比如标题。关于手机电脑化对生活影响的问题,这里还有一个插曲,就是01年911事件发生的时候,美国的电信网络顿时瘫痪,电话和短信都使用不能,而就在这个时候,副总统切尼却能通过BlackBerry进行(BlackBerry专用的)Email的信息交流(BlackBerry给Message推送留下了专门的信道,与电信服务是独立开的),这直接使人们注意到了手机电脑化的重要性,以及BlackBerry的牛叉,此后一段时间了BlackBerry顺风顺水,占领了美国市场……

另一方面,却是人们发布信息的习惯的变迁。在Blog时代(2004年以前),大家都写Blog,写作的习惯是类似于写日记,写感想,发表评论(这是我的习惯……当然,许多人也有这种习惯,而且一写就N长……我有段时间还一天一博,甚至一天三博……)。这种写作习惯类似于写文章,写作文。但是随着SNS的到来,人们的习惯已经从生产信息变迁为了转载信息。同时,一写就是很长的文章也太浪费时间(比如我现在……),而且也不是所有人都会这么写的。再加上,IM与SNS上的个人签名都能得到传递情感的作用。最后,如果只是为了表达一个感想,发一个感叹,或者记录一些看到的听到有趣的事情,写一个Blog还要写标题实在很麻烦。所有这些因素结合在一起,一种短小的、不需要标题的新的Blog形式就诞生了——MicroBlog(MB for short),微博。

因而,微博作为人们发布信息习惯的一种演变,成为了Blog的另一种延伸。

如果说SNS是Blog的社会化和多元化,那MB就是Blog的轻便化和小型化,这代表了Web2.0后期人们日常生活的两个变化趋势。但是,无论是哪种,都无法彻底取代Blog——当然,如果Google的Buzz好好发展的话,倒也不是不能取代Blog。

但是,MB却不单单是Blog的一种轻便化与小型化,它更是另一种生活形式的代表。

这点其实完全来源于MB的发布方式(之一):手机发布。

由于是手机发布,所以这也就意味着用户可以随时随地发布MB信息,而不需要跑到一套PC终端面前去发布Blog。这种随时随地的信息发布也就意味着,人们有了更多的机会和动力将自己看到的、听到的、感受到的东西实时地与他人分享,这是以前Blog时代和SNS时代所无法实现的新功能。

因而,可以说是从Twitter诞生开始,自媒体这个概念才真正地发挥出了它的真实色彩。

Blog使得自我展示这个概念得到了发展,SNS将虚拟显示中的社会化/社交化发展到了一个新高度,而Twitter却是真正地开创了一种新的生活形式。从这点来说,Twitter比Facebook要伟大,虽然Twitter的市值比不过Facebook。

另一方面,MB由于短小精悍,所以也更加加速了MB的转载次数,因而提高了信息传递速度,从而MB的信息覆盖面比Blog更广。

因而,由MB的轻便化使得信息的创生更加便利和快捷,而MB的小型化则使得信息的传播与覆盖更强大。这也就是MB相对于SNS和Blog的最大优势。

正是由于这种优势,使得MB承担了比Blog更多的社会责任——这点在中国更明显。现在许多社会问题都是通过各种知情人在微博上发布出来,从而使得公众得知的。比如最近的拐卖儿童时间,便体现出了微博的强大社会责任感。而在国外,Twitter也使得许多伊拉克战争中美军的丑行。

当然,Twitter也面临之前Blog所面临的问题,就是不够多元化——社会化这点倒是可以通过各种方式来弥补,虽然不如SNS那么彻底。

Twitter的推送一开始还是以文字为主,为了更符合SNS引领的信息传递多元化,Twitter也开始增加了图片、音乐与视频的推送。

但是,这里却又诞生了另外一个有趣的问题,那就是Blog、SNS和MB与IM之间的关系。

在Blog时代,Blog的更新信息就已经整合到了IM之中,而且更重要的是,Blog已经可以依托IM上的朋友圈来建立自己的“交际圈”,这是SNS的雏形。而在SNS中,也理所当然地可以把SNS的信息追加到IM中(比如校内有校内桌面IM工具,其中校内上的信息可以更新在这个IM上),同样的,MB信息也可以更新在IM工具中,更重要的是,IM的个人签名是与微博有着很高重合率的。因而,在后Web2.0时代,来自Web1.0的IM工具是可以将Blog、SNS与MB完全融合在一起的,但问题却是,现在这种整合并没有出现。

腾讯有Blog,也有微博,SNS方面也有校友录和Q-zone,但是有趣的是,这三者都没有整合在一起。MSN有Messenger,但是Blog系统已经被废弃(虽然可以Connect到WordPress与新浪,还有MySpace和Flicker等),SNS方面则一直没有动静,但有趣的是Essential下的Messenger如果用来做整合的话却是很完美的平台(相对于QQ来说,真的很不错哦)。Google有GTalk,也有BlogSpot(负责Blog)、Pisaca和Buzz(负责微博,也负责Blog),但是缺少SNS。所以,现在并没有一个很好的基于IM的平台,将三种不同的交流与信息传递方式整合在一起。

当然,SNS网络本身的IM工具其实也听不错。SNS本身具有Blog功能,而且要做到微博也是很容易的事情(虽然现在MB和SNS的整合不能称为完美),所以SNS的IM工具作为三种平台的整合也是不错的选择。Facebook方面不清楚,但是国内这方面没有——校内有桌面IM工具,但是校内的微博系统等于没有……

这里要提到另外一个很有意思的东西,那就是Google的Buzz。

Buzz是一个很神奇的工具:如果你输入的文字短,它生成的是类似于Twitter的微博信息;而如果你输入的文字很长,它则自动生成Blog,还有标题。而且Buzz是和Reader整合在一起的,所以也能将RSS订阅结合进来(当然,近来已经有人指出了:RSS订阅已经走到了穷途末路了)。因而,Buzz对微博和Blog的结合是很有意思的,是否完美这个有待商榷,而且是一个见仁见智的问题。但是Buzz的这种整合的尝试是很有意思的,也是很有意义的。

Buzz缺少的是SNS,这也是Google到现在都没有做的事情。不过Google的各项服务本身其实已经很有社交化的意思了。所以,Buzz是一个很有意思也很有创新精神的东西,如何做到Blog、SNS和微博的整合,最好还能和IM(GTalk)整合到一起,这还是一件需要继续思考的问题。

当然,上面的这些发展,其实都还只是到Web2.0后期,到了Web3.0,上面这些东西要如何进一步发展就是另一个问题了。

Web3.0的主旨就是网络化(云化)和个性化(定制)。后者相对来说比较容易,但是前者却是很麻烦。

对于SNS来说,云化就是信息的云化。这点对于传统SNS中的信息(比如图片、Blog、各种帖子、视频)来说是比较容易的,但是如果还要发展的话,光这些就显然不够了。

这就是之前提到的另外一些之前一直被忽略的信息资源,那就是网盘中的各种文件,比如各种PDF书籍。

在Web2.0时代,这些信息的管理方式就是在某个网络空间中放上PDF等文件,然后对不同类型的访问者设置访问权限。这方面比较好的就是GoogleDocs(国内的基本都可以无视)。TreeView管理,Tag分类,在线办公,协同创作,权限控制,这些都很有意思。但是,这些在Web3.0里就显得有点“落伍”了。

这里要说一下豆丁文档。豆丁文档中的文档访问是和Web2.0中的文档浏览不同的,它可以看作是一种Market形式的文档共享形式,而不单单是访问权限限制。

事实上,如果在自己管理和圈中好友访问的时候采用GoogleDocs的管理方式,而Public的文档采用豆丁文档这种Market形式的发布,那就非常好了。

当然,SNS和微博的云化还有一些别的问题。比如说各种不同微博上的图片的发布与共享,现在就很成问题——我在一个SNS上看到一个图片很赞,打算发布到微博上,现在就必须先保存到本地,然后在各微博上上传图片,这是信息的严重重复,不利于Web3.0时代的信息传播。

Web3.0时代还有很多事情可以做,这些都是未来可能诞生如同Twitter这样彻底改变人们生活与思维方式的东西。

如果说Web1.0时代最伟大的是Google,Web2.0时代最伟大的是Facebook和Twitter(当然,我认为Twitter更伟大),那么Web3.0时代会诞生什么很伟大的彻底改变人类的东西,就是一个很值得关注的东西了——反正,不可能是百度的框计算。

Posted February 13, 2011 by LostAbaddon in 老思妙想, 赛伯铁客

Tagged with , , , , ,

3Q大战升级   1 comment

企鹅和360,继之前的弹窗大战后,再度升级。

这次升级的起因是360的QQ安全按钮劫持事件。
这不能不说是周流氓的流氓本色发作了。如果之前在感情上还同情360的话,这次的劫持事件立刻就唤起了当年3721时代的惨痛回忆——当然,和我没关系。3721时代也是裸奔着安全度过的人是不会有这种惨烈回忆的。
无论如何,这次360用了按钮劫持这招,的确很晕。这是完全的授人以柄,怕QQ没借口整自己。
随后,今天图书馆回来,吃完饭,一看,QQ居然也出昏招了。
QQ宣布,所有装了360的电脑上一律停止运行QQ。
这看起来是说QQ和360决裂了,但是如果看深一层次,事实上QQ等于再说:我就是偷看你隐私了,咋地。
今天QQ可以说我和360关系破裂了所以我不让你的电脑运行我QQ了,那明天QQ就可以说我和MSN关系破裂了你运行MSN就别运行我QQ;后天它可以说你居然是运行迅雷而不是QQ旋风,我不让你运行QQ了;再后天就可以说你居然敢运行MS Office,我不让你运行QQ了。再过一天,它就可以推出QQ Office来接管MS Office的产业。
事实上,QQ此举就是说:你如果运行了什么让我感到不爽的东西,我就不让你运行我QQ。
如果说之前360告QQ的偷窥隐私还只是偷窥,那今天QQ的举动就是在告诉大家:我不但偷窥你洗澡,我还要和你一起洗,你不让我和你鸳鸯戏水我就不让你运行QQ。
这招太昏了。
当然,战斗打到这个程度,接下来已经没有缓和的余地了——唯一的可能,就是这一切都是360和QQ做的戏。
如果是演戏,那过一个礼拜,QQ就可以放软化,给出QQ补丁,修正360指出的隐私偷窥。然后,360顺理成章地摘得“年度隐私卫士”的桂冠,说不定还同时摘得“年度安全卫士”的桂冠,然后在10年第四季度和11年成功超越金山、江民和瑞星,成为中国网络安全业第一把交椅。然后360找个借口和QQ合并,QQ和360都实现利益最大化,而且都名利兼收——当然,最大赢家还是QQ,因为QQ现在的安全管家要超越金山等还是有难度的,但是这么一场戏下来,自然就借了360的壳超越金山瑞星和江民。
如果一个礼拜以后果真如此,那不用看了,一切都是浮云,马化腾和周鸿祎都是奥斯卡影帝。
当然,如果不是这么浮云,那这场战斗的下场也是可想而知的,或者可以说从一开始就是注定的。
对360来说,最好的结果就是QQ认输。一旦QQ不认输,说要开打,那360的失败就是注定的。
当然,对于360来说,打不打其实都一样。随着安全免费与云化这个大趋势的到来,金山等大公司都会开始免费化和云化,这样在安全领域,360本来就不可能在金山、江民和瑞星的夹逼下拿到更多的好处。所以,早死和玩死,都是个死,不如放手一搏,说不定就载誉而归了。
而这次QQ接受挑战正式开打,那么从现有实力上说,QQ不单有IM和安全两个领域,它的触角几乎伸遍了IT的每个领域。而且,QQ具有中国最大的网民资源。仅这两点就说明,360要想搬动QQ是不大可能的。
而且你想啊,现在电脑不装360的人不在少数,但是不装QQ的我想肯定没有——公司电脑不算。360又不走企业安全路线,在家庭个人电脑领域,市场占有份额上显然比不过QQ。
所以,光光上面三点就已经注定了360的失败。
这次QQ的昏招,虽然很昏,但是很简单明了,就和GW中的黑色卡组一样,简单粗暴。双方都在丧失信誉度和用户群的前提下,等比下降的结果就是360惨败——企鹅皮比360厚实多了。
更何况了,广大网民如果在360和QQ之间选,肯定还是选QQ。
我不装安全软件没事,QQ有安全管家。但是不装聊天工具可没门了。隐私什么的,都是后话。
而且,360就算推出IM也没用。毕竟,大家的朋友关系网都在QQ上,不可能整个朋友关系网络都搬迁。而QQ不同,安全管家放在那里,天生就比你贱格。
所以,事实上,自从QQ开始走现在的财大气粗流氓路线开始,整个中国IT业的走向就基本已经确定了。360现在能期待的就是在临死前多赚一点——当然,如果是那种奥斯卡级的演技,那就另当别论了。
附录:中国不知道有没有反垄断一说?QQ安装的时候强行绑定QQ安全管家,这事应该算垄断的一种。当年Windows强行绑定安装IE就是如此。所以,360可以告QQ垄断,这样名正言顺——只不过,中国貌似没反垄断法,不然中石油中石化电信移动联通怎么混?

Posted November 3, 2010 by LostAbaddon in 老思妙想, 赛伯铁客

Tagged with , , ,

企鹅到底偷窥了啥?   Leave a comment

先排除360的安检程序特地为企鹅程序做了“优化”从而“制造”出大量企鹅偷窥的假象这么个情况。

假定,企鹅真的偷窥了,对我们来说有什么损失么?
之前网上看到一个人,就以此为出发点,开始论述。得出的结论,就是360知道自己江河日下,想在最后的关头来个绝地反击,最后成功和企鹅合并——或者被吃掉,一个意思。
文章的一些观点还是挺有意思的。比如,正确地指出免费的云杀毒是大势所趋。最近金山等都开始给出云安装了。按照这个速度,等下出来一部云毛片估计问题不大。
这里扯开一下。知道石油馆的那套设备做什么最合适吗?你想想当你在石油馆里看到蛇的时候你腿上感受到什么,然后想想这个部位还能干什么。你懂的。从技术来说,现在的唯一问题是日本的哪家公司最先开这个先例。一本道?还是东京热?什么?你喜欢啄木鸟?随便你……
跑题了,拉回来。
问题是,那篇文章对企鹅的偷窥行为是这么说的:我们什么时候不在被窥视隐私?电话和短信都会被人窥视,QQ和人人发言都会被审核,所以隐私神码的,都是360的借口。
看到这样的说法,估计某些领取特定数额工资的人会很开心。
不从抽象的角度来谈论这些所谓的隐私,就说企鹅偷看这个行为本身能为企鹅带来什么。
难道是企鹅的工作人员的窥私癖爆发?想看看各位企鹅用户电脑里的艳照门?这是不可能的。
事实上,类似的事情以前发生过,就是迅雷被指会自动扫描客户硬盘并且上传文件。当年似乎QQ也介入了其中。许多杀毒公司联合起来,给出了迅雷扫描用户文件的强有力证据。最后,迅雷的自动搜多功能被关闭。
再往前,可以追溯到电驴的擅自上传行为。
企鹅和迅雷、电驴不同,它不上传任何文件,它只是在那里静静地看着,然后汇报一些情况。
所以,会有人说被看就被看了,没什么,我又不少块肉。
那么,让我们来换一个角度。
如果我说,企鹅通过看你的电脑来获利,但是赚了钱以后不给你钱,你会怎么想?
再简单一点,如果跟你说你每天在电脑上所做的一切都在帮企鹅赚钱,但你压根不知道,你会怎么想?
如果你认为你的这种无私奉献很伟大,而且应该继续保持下去,那你继续保持吧,自动忽略以下文字。
如果你认为这种赚钱行为是不正当的,至少也要给你一定的报酬,或者至少的至少要通知你一声让你自己来决定是否作出奉献,那就继续吧。
上面所说的事情是否可能发生?
答案是:是的。
换另外一个问题。风险投资者在面对一大群搞IT创业的小伙子的时候,凭什么决定投资这个而不投资那个?因为这个孩子的老爸是李刚?呃,这个是有可能的。但更一般的情况下,是要分析这些项目的未来发展前景,说白了就是能不能为投资人赚钱。投资人不是天使,不是说叫天使投资就真的是天使了。投资人的根本目的还是赚钱。在大家的项目就现在看来差不多的时候,这些项目所在领域的发展前景就是很重要的考虑因素。
比如,我做了一个网站,是最牛的邮件系统。它虽然最牛,但只能发邮件。
我旁边的人,比如小龙,做了一个最牛的SNS网站。
如果是你,你选择投资我还是投资小龙?
肯定是小龙嘛。
理由很简单,在现在这个时候,SNS比EMAIL吃香,更容易拉拢网络用户群。
这就是行业的发展前景。
上面举的是两个很显而易见的领域,对于那些不怎么显而易见的地方,就不是这么明显了。投资人要搞清楚什么领域更受追捧,就不是一件容易的事情。
这个时候,如果一只胖乎乎的企鹅摇摆着身体走过来,拿出一张报表,告诉你:这类软件/网站用的人最多,这类软件/网站用的人最少,这类第二,这类第三……所有的门类都有清晰的数据,还有关注程度随着时间的变化曲线,比如最近三年内的使用人数变化曲线,告诉你这类软件/网站在未来的发展前进、用户增加情况,以及,最重要的,是否已经达到业内饱和。这些数据摆在天使投资人的面前的话,我想天使投资人各个都会笑得很天使。
OK,这就是企鹅所干的事情。
不单单是投资人,对于广告投放商,也是如此。
现在的软件大多数都是免费的。就连杀毒软件都开始免费这个必然道路了。下面还不免费的,就只有操作系统。办公软件?其实很多都免费了,只不过MS Office还不是免费的罢了——当然,Student版本其实早就已经免费了,连VS系列的Student版本都是免费的。
既然软件都是免费的,做软件的人靠什么户口?WinRAR有个捐赠,eMac也有捐赠,MIT的OCR也有捐赠。难道都靠捐赠???显然不可能。
答案就是:广告。
用生物圈做比较的话,广告商就是那些具有叶绿素的植物,而各种软件就是食草动物。什么是食肉动物?流氓软件是食肉动物。以前的360——当时还叫3721,这个万恶的名字大家一定很熟悉——就是一个很牛叉的食肉动物。山寨别人的软件也是食肉动物,只不过大概可以算是食腐动物……所以,企鹅以前是吃尸体的。因而,360大战企鹅,说白了就是一个吃生肉的和一个吃腐肉的动物的较量……
又扯远了……
大家可以看迅雷,上面一条就是广告。QQ上也到处都是广告。你要没广告,也可以,本来是广告商给QQ钱,现在你给,所以你要付钱成为会员。
那么,广告商也要琢磨啊,我是投给企鹅钱呢,还是投给360钱?我是给迅雷钱呢,还是给快车钱?我是给一本道钱呢,还是给东京热?
这个时候,如果有人拿出一刀图标,告诉你什么软件在下载领域用户最多,什么软件在IM领域用户最多,什么软件在毛片领域用户最多,我想广告商的投钱门路就门清了。
那么,上述所有的资料,那些数字,那些图标,那些曲线,从哪来的?用户不可能老老实实的每天每时跑到一个网站去填写。以前可以靠专门的调查询问来做这件事情,现在只要一个静静地站在你的电脑里看着你的一举一动的企鹅就好了。
你现在知道企鹅在干嘛了吧?
这里不说你的隐私是否被窥视,不谈你的隐私是否可能被贩卖(比如银行里),也不谈你在被窥视隐私的时候是否有如芒在背的不爽,就说赚钱这件事,你为企鹅打工赚钱了,你还神不知鬼不觉。说不定,一面在说QQ的软件真好用,一面就在帮QQ赚钱。
当然,从头到尾,其实你没损失,那些钱本来你就赚不到。
只不过,企鹅赚钱了,仅此而已。

Posted November 1, 2010 by LostAbaddon in 赛伯铁客

Tagged with

Google产品   8 comments

  最近在大规模使用各种Google的产品。比如Reader、Documents、Sites、Notebook等等。

  其中很多东西是很久以前就注册好的,但是一直没怎么用,比如PageCreater和Documents。一些则以前常用,然后停了一段时间,现在又开始用了,比如Reader和Sites。还有一些一直有事没事就在用,比如Notebook——用来记录一些东西。
  最近发现Google的许多产品都和之前用的时候有了很大的进步和变化,其中最显著的就是Reader和Documents了,Notebook也加了不少的改变。
  先说说Reader好了。
  这个东西最早的时候只是一个非常普通的在线Feed浏览器,和我们用的应用程序行使的“周博通”之类的没什么太大的不同——至少当年是如此。但是,最近,这个产品有了不少的变化。
  首先,在最早的时候,Reader出来以后有一个朋友的共享功能,这个没什么,很平常。但是最近发现,这个Friend功能多了一个和Twitter一样的Follow——之前都是要发送Google的Invitation,然后对方接受以后,也就是建立了正式的“Friendship”以后,才能看对方的subscribe的RSS内容。现在不同了,双方之间可以完全不认识,但是只要一个Follow就可以了。这个是和Twitter一样的模式。
  而且,在现在的Reader功能中,多了很多新的功能,除了原本的Star和Share,之前多了一个Note,现在还有一个Comment、SendTo以及Like。这个Like和Digger的功能是一样的,只不过Digger还有一个Unlike。可以看出,Reader将许多当下Web2.0流行的SNS元素都融会了进来。
  此外,现在的Reader在Your Stuff中有了一个State功能,这个功能其实也是来自Twitter并且现在在几乎所有的SNS中被发扬光大。这个功能是最近才加进来的——当然,是指我的最近,因为我很久没用了。。。
  随后,现在的Reader可以发布一个单独的页面和RSS,这个在Notebook中也有,方便他人浏览。也可以Export独立的RSS文件。
  总之,现在的Reader可以看作是一个集Twitter和Digger,以及别的SNS功能于一身的Web2.0程序。它可以视为基于他人Blog与News的Meta-Blog与Meta-News网络应用。
  不过,从国内网络来上的话会有一些问题,就是Reader中有许多内容是可以穿越进来的,比如你可以通过Reader来浏览台湾或者北美许多地方的被封网络。所以一旦你的Rss Feed是穿越自这些地方的,那么当你流浪以后会被电信和谐一下,表现为Reader的顶端弹出一句经典的:Oops…an error occurred, please try again in a few seconds.
  最后,Reader提供了一个Offline浏览功能,当然,这个需要Chrome才行。
  随后说下Notebook。
  这个功能和微软的OneNote差不多,事实上就是搬到了网上而已。不过,OneNote的天生优势,是它可以作为一个后台应用,以托盘形式出现在任务栏托盘栏中,这样方便打开编辑。相比来说,Notebook就没有这个优势了——当然,你可以用Chrome创建一个桌面应用,但是总体来说还是不如OneNote。
  功能上说,和OneNote没有太大的不同,只不过作为一个网络应用,许多功能无法实现,比如画图和录音。但是就记录而言是足够了。
  比OneNote多的,是可以发布为一个独立的页面,可以和Google朋友Share。这方面,将Notebook和Reader结合以后,就可以自由地让别人来Follow你了。但是缺点是,这样你需要到Reader中去再按一下,而且当你subscribe的Feed很多的时候,你自己的Note别人就Follow不到了。所以这方面Notebook可以更新一下,也来一个Follow功能,或者在Reader中将普通的RSS与Notebook的加以区分,方便大家浏览。
  另外,是我的一个想法,就是将Notebook和Chrome结合。现在有很多书签类的浏览器插件,比如Digger或者别的,就是在你浏览网站网页的时候可以很方便地打开一个便签,随后写几笔评语,接着这个内容在你以后每次打开这个网站网页的时候都会显示出来,而且甚至还能设置为和他人共享。这个功能其实利用Notebook和Chrome完全可以做到,虽然有一点绑定的嫌疑,但是就功能上来说事实上别人已经做到了,所以Google应该也考虑一下,毕竟这个功能还是很有人气,也是很实用的,特别是我这种喜欢一边查阅资料一边做记录或者写评语的人。而且,这个功能也和Reader现在的Meta-SNS功能相类似。
  接着是Documents。
  Documents不单单是一个存放文件的地方,它事实上是一个Online-Office系统。最早的Online-Office源自北美的两个大学生小伙子,但是他们开创了这个领域以后,紧接着发现各大IT大鳄就开始冲入了这个领域。
  其中最大的敌人就是微软和Google。
  微软的模式,就是看到一个领域以后不会立刻出手,会慢慢在暗地里开发一个自信可以成为业界第一的产品。在Online-Office中也是如此。微软在Live计划中打造的Office Live就是一个类似的在线办公产品,而且无论是界面风格还是功能,都和Office本身非常相似,这个给广大用户们一个很好的用户体验。而且,Offlice Live中可以自然地弄一套插件给Office用,使得你可以直接打开Offlice Live中的文件,或者将文件保存在Office Live中。同时,你也可以在一个没有安装Office的终端中登录这个网站,然后在线编辑。
  但是不得不说,这个系统和Live的别的系统一样是有缺陷的。最大的缺陷就在于速度。
  Google的Documents和微软的Office Live我一段时间里面都在用,而且是对同一篇文章进行操作,结果Office Live的速度明显比Documents慢。当然,这个有可能只是国内的情况。
  此外,Office Live中许多现在Web2.0的功能并没有实现,这个不得不说是一个缺憾吧。而且Office Live与Live的别的产品的兼容或者说协同并不是非常好。比如把,Live的Storeage就无法访问Office Live的内容。这一方面是由于MSN Live与Office Live是两个不同的部门,所以在结合方面自然就有所不足。这点Google就做得很好,所以Documents中的内容在Sites中可以很方便地引用。
  也就在微软开发Office Live的过程中,Google将那两位大学毕业年轻人的网站收购了过来,并且飞快地推出了自己的Documents系统,从而与微软平分秋色。这里就体现出Google运作模式的优势了:够迅速,够自由。这个是日渐老化而且太过模块化的微软所不能比拟的。
  当然,Documents也有不足。无论是微软还是Google,在多媒体或者平面设计方面的涉猎都很有限,尤其是Google,所以Adobe在这个方面有明显的优势。
  国内的Flash8里就有涂鸦板和动画室两个功能,可以说就是在线的Photoshop与在线的Flash,这个是相对Office Live与Documents来说非常大的优势了。当然,现阶段可能这些功能还不能算作是“办公”吧,不过在以后这些肯定是会被囊括进来的。
  Documents还有一个不足,就是不能和Notebook或者Reader一样输出一个独立的页面。虽然它可以Share,甚至是Share为Public,任何人都能来看,甚至任何人都能来修改,但是如果没有一个独立的页面将所有文件都List出来的话,一个个给出Link总也是太麻烦了。
  此外,Documents现在不支持Update,也就是说,我上传一个A.pdf,然后不是用Documents进行修改,而是在本地电脑上修改以后再次Upload,那么这个新的A.pdf不会把原来老的A.pdf覆盖点,从而就不构成Update。这点很麻烦,因为我这里许多PDF都需要不停地Update。这个功能在Google Sites中已经做到了,我不明白为何在Documents中反而没有。
  最后笼统地说一下别的产品。
  Sites很不错,不过每个独立的Site只有100MB,小了点。虽然你可以无限制地Create New Site,不过总也麻烦了点。
  PageCreater功能算是已经Out了,不过可惜的是不能和Sites共用资源。它的最大问题是许多JS无法使用,而且作为一个在线的网页编辑程序,操作起来的用户体验不是很让人满意。当然咯,作为一个网络应用,本来就不应该做此等苛求——同时也可以看出,Dreamweaver到底不是Google出的。
  Analyzt很不错,当然,是对于我这种有网站的人很有用。同系列的,还有Webmaster和Web Optimizer。不过除了Analyzt,别的我没用过,所以这里就不做评论了。
  Google的Calender,和微软的Calender Live是对头。不过两个功能我都不怎么用。
  微软的Calender Live很离谱,我用Live的Calender程序设置了提醒,时间到了居然还是什么反应都没有。。。我就不知道了,什么反应都没有你为什么要将它叫做“事件提醒”呢?哪里提醒了?这个纯属扯淡嘛!Google的也不怎么样,他是时间到了发一份邮件给你。当然,如果我用的是如小龙那样的智能手机,那或许我能接到提醒,不然的话就没什么意义了。当然,或者你可以把目标设为你的QQ邮箱,那么发来邮件以后QQ会提醒你。总之,这个还算是有行动,比微软的好多了——微软那个,你需要把收发邮件的那个Live终端一直开着,不然就什么反应都没有。我干脆用Dos命令写一个at命令,让Windows到了时间弹出一个Alert框还干脆一点。
  总体比较下来,Google的网络应用都很不错,值得大家体验体验。

Posted August 21, 2009 by LostAbaddon in 赛伯铁客

分形生成器之迭代篇   Leave a comment

这次是Matlab了。主要是因为Matlab中可以自己输入函数。VB中的话要么每次都重新编译,要么就要引入函数计算模块——这个自己写过一个很可实用的,但是速度不快,所以没考虑。

由于Matlab才开始用,所以只能简陋一点了。

可以修改的部分是开头的一段,以及最后的迭代函数(其中P是上次值,H是迭代参数),默认给的是MB分形(也就是所谓的“金苹果”分形)的迭代函数:z_n+1=f(z_n,c)=z_n^2+c。

k开头的参数给出了初始量z_0的值的便利范围,范围的开头为Ini变量,然后叠加范围就是KMin到KMax,间隔Kdl。

 

 

function Fractal
dl=0.025;
XMax=1;
XMin=-1;
YMax=1.5;
YMin=-1.5;

Ini=0;
sp=1;
KMax=1;
KMin=0;
Kdl=0.1;
R=100;
Total=100;

[A,B]=meshgrid(XMin:dl:XMax,YMin:dl:YMax);
H=A+B*sqrt(-1);
P=0;
X=A;
Y=B;
Z=H*0;

for i=1:(YMax-YMin)/dl+1
    for j=1:(XMax-XMin)/dl+1
        for k=KMin:Kdl:KMax
            P=Ini+k*sp;
            for t=1:Total
                if abs(P)<=R
                    P=f(P,H(i,j));
                end
            end
            if abs(P)<=R
                Z(i,j)=k;
            end
        end
    end
end
surfc(X,Y,Z);

function f=f(p,h)
f=power(p,2)+h;

Posted August 18, 2008 by LostAbaddon in 赛伯铁客

分形曲线生成器   Leave a comment

闲来无事,写了一个画分形曲线的东西。
技术方面嘛,没技术……完全是一点技术含量都没有……只要注意别堆栈溢出就好了(最简单的做法会导致高次迭代以后堆栈溢出)。
文件提取:http://pickup.mofile.com/1557435081253352
下面是代码:
Option Explicit

Dim AX As Single, AY As Single, BX As Single, BY As Single
Dim FirstNode As Node
Dim TotalStage As Integer, LimitLen As Integer
Dim CodeX() As Single, CodeY() As Single
Dim Working As Boolean
Dim IColor As Long

Private Sub Form_Load()
Me.Scale (-1000, 1000)-(1000, -1000)
Set FirstNode = New Node
FirstNode.X = -900
FirstNode.Y = 0
Set FirstNode.NextNode = New Node
FirstNode.NextNode.X = 900
FirstNode.NextNode.Y = 0
TotalStage = 3
Working = False
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim TmpNode As Node

If Button = 1 Then
    Set FirstNode = New Node
    FirstNode.X = X
    FirstNode.Y = Y
Else
    Set TmpNode = FirstNode
    Do While Not (TmpNode.NextNode Is Nothing)
        Set TmpNode = TmpNode.NextNode
    Loop
    Set TmpNode.NextNode = New Node
    TmpNode.NextNode.X = X
    TmpNode.NextNode.Y = Y
End If
PSet (X, Y), vbBlue
End Sub

Private Sub CmdCls_Click()
If Working Then Exit Sub
Me.AutoRedraw = True
Me.Cls
Me.AutoRedraw = False
End Sub

Private Sub CmdStart_Click()
Dim TmpCode() As String
Dim I As Integer
Dim TmpNode As Node

If Working = True Then Exit Sub
Working = True

IColor = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256))
TmpCode = Split(TxtCode.Text, ",")
ReDim CodeX((UBound(TmpCode) – 1) / 2)
ReDim CodeY(UBound(CodeX))
For I = 0 To UBound(CodeX)
    CodeX(I) = CSng(TmpCode(2 * I)) / 10
    CodeY(I) = CSng(TmpCode(2 * I + 1)) / 10
Next
TotalStage = CInt(TxtTotal.Text)
LimitLen = CInt(TxtLen.Text)

Me.AutoRedraw = True
Set TmpNode = FirstNode
Do While Not (TmpNode.NextNode Is Nothing)
    PSet (TmpNode.X, TmpNode.Y), vbRed
    Set TmpNode = TmpNode.NextNode
Loop
Me.AutoRedraw = False

Set TmpNode = FirstNode
Do While Not (TmpNode.NextNode Is Nothing)
    DrawLine TmpNode, TmpNode.NextNode, 0
    Set TmpNode = TmpNode.NextNode
Loop
Working = False
End Sub

Private Sub DrawLine(ANode As Node, BNode As Node, Stage As Integer)
Dim Nodes As Node, TmpNode As Node
Dim I As Integer
Dim M As Single, N As Single

Set Nodes = New Node
Nodes.X = ANode.X
Nodes.Y = ANode.Y
Set Nodes.NextNode = New Node
Set TmpNode = Nodes
For I = 0 To UBound(CodeX)
    Set TmpNode = TmpNode.NextNode
    M = CodeX(I)
    N = CodeY(I)
    TmpNode.X = ANode.X + M * (BNode.X – ANode.X) – N * (BNode.Y – ANode.Y)
    TmpNode.Y = ANode.Y + M * (BNode.Y – ANode.Y) + N * (BNode.X – ANode.X)
    Set TmpNode.NextNode = New Node
Next
TmpNode.NextNode.X = BNode.X
TmpNode.NextNode.Y = BNode.Y
Set TmpNode = Nodes
Do While Not (TmpNode.NextNode Is Nothing)
    If Stage < TotalStage Then
        If Sqr((TmpNode.X – TmpNode.NextNode.X) ^ 2 + (TmpNode.Y – TmpNode.NextNode.Y) ^ 2) <= LimitLen Then
            Me.AutoRedraw = True
            Me.Line (TmpNode.X, TmpNode.Y)-(TmpNode.NextNode.X, TmpNode.NextNode.Y), IColor
            Me.AutoRedraw = False
            DoEvents
            DoEvents
        Else
            DrawLine TmpNode, TmpNode.NextNode, Stage + 1
        End If
    Else
        Me.AutoRedraw = True
        Me.Line (TmpNode.X, TmpNode.Y)-(TmpNode.NextNode.X, TmpNode.NextNode.Y), IColor
        Me.AutoRedraw = False
        DoEvents
        DoEvents
    End If
    Set TmpNode = TmpNode.NextNode
Loop
End Sub

Posted August 18, 2008 by LostAbaddon in 赛伯铁客

Google Launches Lively to Create a Virtual World Across Social Networks   1 comment

Google has just launched Lively, a new social network built around the concept of each user creating an avatar and a personal virtual room that can be embedded anywhere on the Web. In essence, Google is looking to create a massive distributed virtual world, where every Google account can have its own avatar that can be used wherever a Lively virtual room is present – for example, on a blog, a social networking profile, or a Web page.

Here’s a closer look at what Google is launching, how it worksHow It Works , and how it might fit into Google’s larger social networking plans:

Getting Started

To use Lively, you do need to sign up using a Google account and download a browser plug-in. From there, you are able to create your own avatar – starting from a “template” character which then has customizable attributes like skin tone, hair color, and eye colors. You can also dress your character with clothing and accessories. In turn, you’re now ready to use Lively wherever you encounter a room on the Web by signing into it with your virtual account.

Lively Rooms

Similar to avatars, Lively offers several templates for starting your room that can then be customized – for example, a 5 room apartment, or a desert island (rooms can be outdoors). From there, you can do things like add your own background music, insert furniture, pull in photos from Picasa (and other services) and embed YouTube videos on a virtual plasma screen TV. In the example below, a virtual Googleplex shows a YouTubeYouTube video of Sergey Brin and Larry Page:

Once a room has been created, embed code allows you to copy it to any Web page. Each room also has its own URL on Lively, if you prefer to just send your friends to your room directly.


User Interactions

When you’re in a room, there are text chatting options, emotions (angry, happy, say hello, etc.), and you can move around furniture (if the room owner permits it). Some of the emotions are tied to the text chat – for example, if you type “hello,” your avatar will wave. If you enter a room and there is no one it, you can leave a message and a piece of furniture for the room owner.

The Social Graph

For now, Lively has its own buddy list that you build one-by-one by inviting your friends. However, Engineering Manager Niniane Wang hints that the product will eventually move to support the porting of your friends from other social networks – per initiatives like Facebook Connect, MySpace Data Availability, and Google’s own Friend Connect product. There are already Facebook and OpenSocialyahoo-google-and-myspace-versus-facebook Mar-25-2008 applications for Lively that allow you to see which of your friends are signed in.

Monetization Potential

While for now Lively is a free product, there are already hints at the monetization potential Google is looking at with this product. For example, when browsing room templates you can use, it lists the price as “free,” implying that eventually there will be premium versions to choose from. Additionally, with the inclusion of wardrobe options, it’s not hard to connect the dots and see massive opportunities for product placement, such as decorating your character with Nike shoes or a Starter jacket (or whatever the kids are wearing these days).

Is This Google’s New Social NetworkingMost-Networked-Executives Strategy?

Wang tells me that Lively came about during Google’s famous “20 percent time,” where engineers devote 1/5th of their time to their own ideas and projects. But, it’s safe to say that this project may turn into much more. Tying an avatar to your Google account that can be used anywhere there is a Lively room is a unique idea that takes advantage of Google’s huge userbase.

Moreover, the ability to create and decorate a room to include on your social networking profiles may be a hit with younger users, if the success of services like Slide, RockYou, and SecondLife is any indicator. Lively is also a bit of a destination site – offering users the ability to browse rooms randomly to meet new people. It’s an ambitious new project from Google, and one that will be worth watching in the months ahead.

Posted July 9, 2008 by LostAbaddon in 赛伯铁客

这个太牛太科幻了!   1 comment

http://www.gearthblog.com/blog/archives/2008/07/hologram_google_earth.html
这项技术可以将东西投影到半空中,而且还有一套无需接触的交互方式,可以直接用手拖动,真是太牛太科幻了!!
这里例子是Google Earth,很不错哦~
 
 
Holographic Google Earth from Nicolas Loeillot on Vimeo.

The technology comes from UbiqWindow and lets a computer screen be projected in mid-air. They have devised a touchless way to interact with the "hologram", and Google Earth is a great way to show off its capabilities. it’s not a 3D projection, just 2D. But, it sure looks cool. via Google Earth Design

Posted July 3, 2008 by LostAbaddon in 赛伯铁客

也谈FireFox与IE   6 comments

这里忽略了Opera,主要是因为我Opera用得不多。当然,也能体会到一点问题,比如字体的显示方面,总感觉比IE的小——为什么要小捏?更安全?或者更护眼?
最近在做网站,于是想看看IE下的站到了FireFox中会是什么嘴脸——不看不知道,一看吓一跳……
于是开始制作双版本以前先考虑为什么FireFox与IE的HTML解析会有如此大的差别——注意了,不是JS的解析,是HTML的解析。
一段用DreamWeaverCS3无差别制作出来的表格框架的页面,IE下的效果和DW是一样的,FIREFOX中的效果惨不忍睹。我不知道为什么FireFox不认我的“width=35”与“{width:35px;}”而很自主很随意地给了我一个100%的宽度。是它太随性,还是我太任性?
HTML标准大家总还是要都遵守的吧?不然那也太没意思了……
记得W3C的浏览器测试,IE8通过了,最新的FIREFOX似乎还没通过……
更让人恼火的,就是所有的层与容器到了FireFox中就宛如有了生灵一般,活蹦乱跳地面目全非,让我彻底抓狂。
还有就是对Object的支持。XHTML1.0标准中说明了embed不再不支持。有人在下面还评论说要实现这个标准,IE就需要改进。结果今天发现我插入的Flash如果只有Object标签,那FIREFOX死活显示不出来,一定要加入embed标签才可以。这个算是我的FireFox神经失调,还是FireFox都有这个毛病?查了查,FireFox下透明背景的Flash会将下面的内容遮盖掉,这个也算是标准中内容吗?
这些还不设计到JS中的差异,只是HTML的解析的问题。
于是在想,FireFox是为了体现出自己的与众不同而制作了这么多与IE大相径庭的显示效果呢,还是因为一不小心做出来不一样了?
 
那么,FireFox相对IE的优势在哪里?查了查。04年的时候主要集中在开源、安全性、个性化、速度快以及“标签卡”、“手势”等新潮玩意上。
开源嘛,普通大众用得到吗?我也算是一个搞软件的,当然还搞很多东西,连我都用不到FireFox的开源特性,那这个世界上有多少人能用到?开源对用户带来的,恐怕还是安全吧。但是FireFox真的安全吗?06年有调查显示FireFox下有21个漏洞,其中还有不少是高危的。这个还真安全啊……网上有人说他用了两年FireFox没中毒,所以相对IE还是安全多了的。我电脑裸奔五六年没中过什么大毒了,那是不是Windows就比Unix和苹果更安全?这个是胡扯嘛。我觉得安全方面之所以FireFox脱颖而出,主要原因是IE吸引了大量的火力。想想,一个是开源的,一个不开源的;一个是草根,一个很拽扮官方,我作为黑客我也去打IE了,谁来看FireFox呀。IE不安全的主要原因是自己太嚣张,试图搞垄断,结果有两个原因吸引来了大家蹂躏的脚步:一个就是太嚣张,一个就是控制了IE就有望控制系统。所以这个只能说IE策略有问题,不能说FireFox更安全。另一点,就是老一代黑客都教育下一代黑客说IE不安全,容易突破,所以自然而然大家都认为IE不安全了。当然,IE的确不安全,但是不能因此说FireFox就安全。FireFox在安全方面比IE的优势只在于开源这一点而已——也许你会说这点优势很大了,但是我不这么看。
然后,速度快。这个其实是牺牲系统资源得来的。天下哪来得免费午餐。你想速度快就速度快了?当然,解析方面是一个因素,但是在多个页面之间高速切换靠的是内存,解析相对来说已经是小问题了(何况前面还看到FireFox解析不见得多好)。至于一些新潮的东西,那叫“奇技淫巧”。好比我比剑法比不过你,我抗把AK47过来扫射你。我给IE套一个外壳就完了呗。
因而,比较下来,我还真没看出FireFox有什么明显的优势。Opera的高度集成化似乎还比FireFox抢眼呢。

Posted May 18, 2008 by LostAbaddon in 赛伯铁客

静电场模拟程序   Leave a comment

http://pickup.mofile.com/5742033951357286

 

土哥上课说的问题,其实就是解泊松方程,二维PDE。目前没做有源的情况,不过要做的话也不难,事实上很容易。

下面是同步迭代与异步迭代的主要代码:

同步:

Do While WC > 0 And Not IsStop
    SN = Val(TxtM.Text)
    B(1, 1) = (A(2, 1) + A(1, 2)) / 2
    For I = 2 To N – 1
        B(1, I) = (A(1, I – 1) + A(1, I + 1) + A(2, I)) / 3
    Next
    B(1, N) = (A(1, N – 1) + A(2, N)) / 2
    For I = 2 To N – 1
        B(I, 1) = (A(I, 2) + A(I – 1, 1) + A(I + 1, 1)) / 3
        For J = 2 To N – 1
            B(I, J) = (A(I – 1, J) + A(I + 1, J) + A(I, J – 1) + A(I, J + 1)) / 4
        Next
        B(I, N) = (A(I, N – 1) + A(I – 1, N) + A(I + 1, N)) / 3
    Next
    B(N, 1) = (A(N, 2) + A(N – 1, 1)) / 2
    For I = 2 To N – 1
        B(N, I) = (A(N, I – 1) + A(N, I + 1) + A(N – 1, I)) / 3
    Next
    B(N, N) = (A(N, N – 1) + A(N – 1, N)) / 2
   
    Min = 0
    Max = 0
    WC = 0
    For I = 1 To N
        For J = 1 To N
            If Not (IsA(I, J) = 1) Then
                If Not (A(I, J) = B(I, J)) Then
                    WC = WC + (A(I, J) – B(I, J)) ^ 2
                    A(I, J) = B(I, J)
                End If
            End If
            If A(I, J) > Max Then Max = A(I, J)
            If A(I, J) < Min Then Min = A(I, J)
        Next
    Next
    WC = WC / (N ^ 2)
    WC = Sqr(WC)
    WC = WC / (Max – Min) * 100
    TxtTBWC.Text = WC
    If IsShow Then
        If ST = 0 Then
            PicT.Picture = PicGrid.Image
            PicT.Visible = True
            PicGrid.Visible = False
            PicGrid.AutoRedraw = True
            For I = 1 To N
                For J = 1 To N
                    T = 255 / (Max – Min) * (A(I, J) – Min)
                    PicGrid.Line (I – 1, J – 1)-(I, J), RGB(T, T, T), BF
                    DoEvents
                Next
            Next
            PicGrid.AutoRedraw = False
            PicGrid.Visible = True
            PicT.Visible = False
        End If
    End If
   
    ST = ST + 1
    If ST >= SN Then ST = 0
    On Error Resume Next
    Times = Times + 1
    TxtTBD.Text = Times
    TA.Text = A(Val(TX.Text), Val(TY.Text))
    DoEvents
Loop

 

异步:

Do While WC > 0 And Not IsStop
    SN = Val(TxtM.Text)
    WC = 0
    B = A(1, 1)
    If Not (IsA(1, 1) = 1) Then A(1, 1) = (A(2, 1) + A(1, 2)) / 2
    WC = WC + (B – A(1, 1)) ^ 2
    For I = 2 To N – 1
        B = A(1, I)
        If Not (IsA(1, I) = 1) Then A(1, I) = (A(1, I – 1) + A(1, I + 1) + A(2, I)) / 3
        WC = WC + (B – A(1, I)) ^ 2
    Next
    B = A(1, N)
    If Not (IsA(1, N) = 1) Then A(1, N) = (A(1, N – 1) + A(2, N)) / 2
    WC = WC + (B – A(1, N)) ^ 2
    For I = 2 To N – 1
        B = A(I, 1)
        If Not (IsA(I, 1) = 1) Then A(I, 1) = (A(I, 2) + A(I – 1, 1) + A(I + 1, 1)) / 3
        WC = WC + (B – A(I, 1)) ^ 2
        For J = 2 To N – 1
            B = A(I, J)
            If Not (IsA(I, J) = 1) Then A(I, J) = (A(I – 1, J) + A(I + 1, J) + A(I, J – 1) + A(I, J + 1)) / 4
            WC = WC + (B – A(I, J)) ^ 2
        Next
        B = A(I, N)
        If Not (IsA(I, N) = 1) Then A(I, N) = (A(I, N – 1) + A(I – 1, N) + A(I + 1, N)) / 3
        WC = WC + (B – A(I, N)) ^ 2
    Next
    B = A(N, 1)
    If Not (IsA(N, 1) = 1) Then A(N, 1) = (A(N, 2) + A(N – 1, 1)) / 2
    WC = WC + (B – A(N, 1)) ^ 2
    For I = 2 To N – 1
        B = A(N, I)
        If Not (IsA(N, I) = 1) Then A(N, I) = (A(N, I – 1) + A(N, I + 1) + A(N – 1, I)) / 3
        WC = WC + (B – A(N, I)) ^ 2
    Next
    B = A(N, N)
    If Not (IsA(N, N) = 1) Then A(N, N) = (A(N, N – 1) + A(N – 1, N)) / 2
    WC = WC + (B – A(N, N)) ^ 2
   
    Min = 0
    Max = 0
    For I = 1 To N
        For J = 1 To N
            If A(I, J) > Max Then Max = A(I, J)
            If A(I, J) < Min Then Min = A(I, J)
        Next
    Next
    WC = WC / (N ^ 2)
    WC = Sqr(WC)
    WC = WC / (Max – Min) * 100
    TxtYBWC.Text = WC
    If IsShow Then
        If ST = 0 Then
            PicT.Picture = PicGrid.Image
            PicT.Visible = True
            PicGrid.Visible = False
            PicGrid.AutoRedraw = True
            For I = 1 To N
                For J = 1 To N
                    T = 255 / (Max – Min) * (A(I, J) – Min)
                    PicGrid.Line (I – 1, J – 1)-(I, J), RGB(T, T, T), BF
                    DoEvents
                Next
            Next
            PicGrid.AutoRedraw = False
            PicGrid.Visible = True
            PicT.Visible = False
        End If
    End If
   
    ST = ST + 1
    If ST >= SN Then ST = 0
    On Error Resume Next
    Times = Times + 1
    TxtYBD.Text = Times
    TA.Text = A(Val(TX.Text), Val(TY.Text))
    DoEvents
Loop

Posted April 27, 2008 by LostAbaddon in 赛伯铁客