听dj战歌,就上傲气战歌网!2015年传奇家族玩家最喜爱的家族战歌网
战歌推荐:战歌网 战歌网dj Mc战歌网 DJ战歌网下载 激情战歌-冰雪战歌网 客服Q:350317
新闻搜索:

demo@virushuo

作者:     来源:    发表时间:2011-04-11 17:09

前天写了个blog,被转载不少。转天见FT中文网刊发腾讯科技频道总监程苓峰文章一篇《韩寒是1微博是0》

此文观点对错暂且不说,其中【随同韩寒博客火起来的。还有两篇草民写的博客,被很多V用户称为"比韩寒更精彩,更狠辣"。】一句看的颇为疑惑。从下文描述,这两位草民的文章至少有一篇是我那篇。

草民这词已经多年不见。自从封建帝王时代结束,自民国以来,中国只有公民,再无草民这一说。实在令人不解这说法是怎么冒出来的,难道是程总监文化程度不高,把公民二字误写成草民?想来也不对,既然能在一个市值第一的互联网公司做总监,还给媒体写稿,文化程度不高是说不过去的。FT中文网之前也算靠谱的媒体,编辑也不应该连错字都看不出来。这猜想应该不靠谱。

再看原意,草民这词就算使用,基本也用于自嘲,但用在他人身上,那就是嘲讽。就像程总监可以自称"家慈的犬子"(王仲夏创造的这个说法),但我要冲着他说一句犬子程苓峰,估计他也得跳起来。如果是拿草民二字替我自嘲,那就是说程总监缺点起码的文化修养,好歹也算个文化人,这猜想恐怕也说不过去。

原句说到"被很多V用户称为",莫非这V用户是草民的对称说法,加V就不是草民,不加就是?想这草民一说,是皇权时代没官职的人自称的,如果在新浪微博加V被程总监当做一种官职,那么新浪就被他当作了皇权,对于到现在的概念,新浪微博就是政府。这说法置党和国家于何处?莫非因为腾讯微博竞争不过新浪,就派了他们的总监一名暗中怂恿众人以新浪当政府,好早日给新浪扣一个煽动颠覆国家政权的罪名?这猜想太阴谋论也太宏大,看的我自己都心惊肉跳,不妥,也放弃了吧。

好吧,这词是想不明白了,还是看看这文章吧。

按照互联网的规矩,如提及别人观点,尽量加引用链接,这样读者可以顺着线索扩展阅读。这种扩展带来了更多的知识量和交互,也是知识共享的基础。程先生此文提及别人观点不少,链接反而一个没有,这也是难能可贵的。一般来说,如果不加链接,也尽量应该指出原文是谁写的,以供读者查询。志向远大点的作者,您就算不为了读者方便,假使您的文章能流芳百世,将来人们考古找起来线索也方便,也算好事。做为一个互联网公司工作的人,如果不按照互联网的规则办事,这文章写的就不算合格。

写到这里,我突然明白了什么,翻看程苓峰老文,此人时常辟谷,对不起,我看到这两个字和科技中心总监的头衔放在一起,"顿时就凌乱了"。这样说来也就大约可以理解了,大概是程先生辟谷太多,营养不良,精神恍惚,穿越回了某个朝代,自己成了皇族,看我们这些blogger自然就是草民了,除了跪拜一下程家皇帝,我也没什么别的办法了。

调侃归调侃,正经说说我的希望:

1 在互联网上写文章,要按照互联网的规则来,该引用引用,该链接链接,方便读者,尊重原作者。
2 摆平心态,人没有三六九等,既然来交流,就平等交流。
3 不要过度放大微博的作用,这只是交流方式的一种。

最后,同为FT中文网撰稿人,我认为FT的质量日益下降,至少几年前我所熟悉的FT,不会刊发这种质量的文章。考虑到FT中文网北京办公室正在搬家,大概是工作环境变化,有点浮躁,可以理解。希望FT保持固有质量,不要因为营业额,团队的扩大而降低品质。


我是一个靠写代码生活的人,我觉得我们这个行业,和创造文艺产品的人--比如写书的作家--是非常一致的,盗版问题同样影响着我们,只不过我们用的是和作家不一样的语言来创造产品。比作家们幸运的是,我们可以完全脱离中国市场,去做英文的德文的日文的法文的软件,而且特别不要做中文的软件,这样才能让自己的作品在一个正常市场内销售并获得应有的收益。我们认为中国的问题无解,于是我们放弃了。我们不再愿意创造中国人普遍可用的工具,因为赚不到钱。作家们比我们悲哀一些,因为文化和语言是有民族性的,你们不能把中文的作品卖给其他国家的人,也很难快速学会用其他文字写作。于是,你们只能死磕。

在前面的这些年,大家始终没意识到这个问题的严重性,也从来没有什么行动,虽然你们可能早就从百度mp3下载音乐,下载盗版软件,损害着其他领域的创造者们。今天你们也面临着一样困境。现在痛苦终于降临到了你们身上。

或许你们还记得,不到一年之前,google books索引你们的书,仅仅是索引(用户只能在搜索的时候展现片段内容做为提示),而不是让用户阅读,google就愿意付给你们60美元。但你们嘲讽的拒绝了,你们认为那是作恶。比如王晓峰这篇 《股沟挖了一条沟》 当时我就明白,过不了多久,你们会后悔的,但是确实没想到来的这么快。事实上google books确实没有作恶,他们做的事情和书商摘取你们作品的片段放在广告宣传页上一样,让读者搜索感兴趣的内容的时候,知道你的书中有提及,如果要阅读,需要付费。

数字化大潮势不可挡,这本来是全球搜索巨人释放的极大的善意,这大概也是数字阅读解决方案中,技术和商业结合最好的方式。可惜王晓峰这种自傲的文人认为是作恶。他那篇讽刺google的文字到现在还能搜索到很多,我承认王晓峰影响力不小,但他错了。大部分作家或许都是这样,他们活在自己理解的世界中,不愿意学习新东西,甚至连多想一些都不愿意。在他们的世界里,就是出版卖书赚钱,从来没想到世界变化如此之快。在上一次对google的攻击中,只有韩寒认真的了解了google到底干了什么,并公开发文支持。对这个事情有兴趣的可以读韩寒这篇blog:http://blog.sina.com.cn/s/blog_4701280b0100fzmm.html

而今天你们看到了百度文库可以不花钱看你们的文字,于是你们集体愤怒了。我今天要告诉你的是,这还不算什么,对你们更有杀伤力的,是百度和爱国者一起做的叫做"百看"的电子书。新闻见此:http://tech.sina.com.cn/digi/mp4/2011-02-23/19475209593.shtml 这是爱国者出的电子书阅读器,它的特点是可以直接连接到百度文库。今天你们知道了百度文库是什么,那你们终于可以想象当人手一本这样的电子书的时候,会发生什么。就是人们只要买这么一个设备,就可以想看什么就看什么,而且阅读体验和纸书差不多,可以随身带着,比纸书方便多了。这个计划如果成功,那就是你们这个行业的灭顶之灾。百看我一不小心就会打成白看,这名字起的真好啊。

呵,对于百度和爱国者,他们管这个叫做"希望能将更海量的知识、文档和消费者分享",对于你们,意思是人们再也不用花钱买你们的书了,到时候恐怕不仅作家会死,出版公司也会死,大出版社或许不会死,但他们也只能靠印教材活着了,印厂的日子也不会太好过。要说什么破坏了社会稳定,这东西才是,他会瞬间摧毁几个行业,摧毁文化的基础。盗版从来都不是最可怕的事情,最可怕的事情是成建制的盗版,百看和百度文库都是成建制的盗版。所谓成建制的盗版,意思是说盗版者不需要付出任何东西,甚至不需要知识和技巧,直接就可以"享受"盗版,这种盗版用起来比正版还舒服(正版无论如何都要有个购买过程,总是多了一步)。这时候,谁会傻瓜的麻烦去付钱呢?在和成建制盗版对抗的过程中,我们软件作者们想出了最多的花样,各种加密,各种功能限制都被用来保护软件,软件作者以牺牲产品体验为代价进行加密,甚至曾经不惜破坏盗版者的电脑。最终的结果,是我们失败了,至少在中国失败了,到今天还有专门盗版iPhone软件的网龙活的很好,并以此做为盈利模式。幸好在美国,通过法律,大家都成功了。对于搜索引擎所谓的"避风港原则",美国也有"数字千年法案"应对。(google的数字千年法案看这里 http://www.google.com/intl/zh-CN/dmca.html )。按照这个历史看,如果不改变方法,对文字作品的斗争,在中国一样会失败。

这次所有作家写出来关于这件事的文字,看着都是那么的无力。请问你们面对抢劫者的时候,哭穷,叫惨,这些都有用吗?没用的。你们需要战斗,而且要用自己擅长的方式来战斗,把对方拖入你们擅长的战场中,并击败他。对于作家,我觉得最好的办法就是用文化摧毁对方的品牌。做法很简单,不用正面去攻击骂对方,你们只需在自己创造的文化作品中,让作品中的角色说话。比如很酷的主人公会对别人说"用百度真丢人",漂亮的女主角拒绝追求者的时候会说"你还用百度,这么土,我才不跟你交往"。我这只当扔块砖,具体的技巧你们擅长,就像前面提到王晓峰那篇愚蠢的blog,影响了很多人,他们会拿着这个来说"你看,google也作恶嘛"。作家本身就是媒体和文化的创造者,你们有能力不依靠别人,仅靠自己在文化和品牌上摧毁对方。。特别需要注意的是,"把作品中反面角色的名字起成李彦宏"的办法并不好,因为你们要对付的是百度这个品牌,并不是其创始人。换言之,李彦宏卸任百度CEO,盗版的状况大概也不会变好。

前面很多年,google被欺负你们不说话,甚至你们还参与欺负google。现在,你们知道了google的好。虽然我觉得你们活该,但现在还不算太晚,来战一场吧!这战斗不会一帆风顺,因为对方有钱,你们很有可能会被要求删除相关内容,很有可能百度在你所谓的媒体投放了巨额广告,你的领导要保护他。但这其实都不算什么,百度虽然势力庞大,但也比不上***强大,你们不也在作品中变着方的挖苦他们吗?这就是所谓"你们擅长的战场"。

你们大概会质疑这种办法的效果。这确实是一个长期的缓慢的过程,但确实有杀伤力,文化的威力,你们最清楚。只不过,你们得丢掉心理的幻想,不要觉得对方是可以谈价钱的。你见过拉磨的驴子和主家谈价成功过吗?对于百度,你们就是那驴子。这是你死我活的战争,甚至不是你们自己的战争,是文化行业的战争。请你们不要拒绝新媒体,传统出版一定会消亡,而且消亡速度在逐渐加速,要学会正确的使用新媒体。或许当你们这么干了,百度会付出公关费来摆平你们,他们现在每年也支付着大量的公关费对付各种负面,但这些钱不会给你们这些创造内容的人。甚至将来百度变成唯一渠道的时候,你惹急了了他们,他们会干脆在搜索结果中封杀掉你。如果大家都用百度,你这个人在互联网的世界就像不存在一样了,不要以为荒唐,这就是现在网站站长们碰上的问题。所以现在动手还不算太晚。除此之外,你还能做的了什么?

至于不用百度还能用什么,我的妈妈65岁,用google几乎所有的产品。其他,你们自己看着办。

Google退出中国的时候,你们一声不吭,之后的两个月,你们对google books口诛笔伐。今天,如果你决定不做什么,不写什么,至少也应该把我这文章让更多人看到吧。

注1:王晓峰并非错字"王小峰(真名王晓峰,笔名王小峰,网名带三个表)" 来自互动百科

注2:去年我写过一篇关于百度和google的blog,如果你看完本文有兴趣知道更多,请看这里 http://blog.devep.net/virushuo/2010/01/14/blog56google_blogtinyfool_1_go.html

这几天在twitter上说到不少ruby到底好不好的事情,总结一下,写了这个blog。

今年年初开始我打算深入体验一下ruby on rails,对我来说,已经很多年没有接触"新语言"了。在这个深入体验开始之前的几年,也有若干次浅尝辄止,基本都是玩了几下,觉得要学的东西真多,用PHP顺手写一个也很简单嘛,就放弃了。

但我想一个东西迅速风靡世界一定是有原因的,就算我最终不去真正使用它,弄清楚背后的原因也是值得的。于是我就放下了老程序员的心态,像一个初学者一样从最基本的文档看起,尝试各种大家称赞的项目,搞不懂的地方就去问熟悉ruby的人,不仅问如何实现,还要问"为什么会这样","过去什么样","其他语言解决某个问题的方法在这里如何对应"。几个月下来,虽然我还没能用ror真正开发一个完全独立的项目,但总算是有了一个全貌的概括性了解,也知道了历史和文化,体会了社区的氛围。这个时候,我想大概是可以对rails发表一些评论了。

在这一次尝试之前,我最担心的事情是"性能问题",现在看来这是一个伪问题,首先ruby的性能并没有这么差(前几年确实不太好,不过现在已经很好了),其次,用来做一个网站应用,无论是什么语言,最后都要依靠缓存和分布来解决,也就是说最终都要依赖于正确的系统架构,而不是语言本身的性能,最后,就算是性能真的差又完全不可解决的问题,完全可以用效率更高的语言来写,把处理的结果通过各种通讯方式交给ruby就是了。在计算机硬件发展到今天这样,性能问题大多不存在,只有架构师水平的差距。我见过很多用了几十台机器的系统但抗不住几十万的负载,这能怪语言和平台本身的性能差吗?

在所有关于ruby优点中,我唯一不能认同的是"学习曲线平缓",事实上,ruby的学习难度比较高,确实远远高于PHP,要说平缓,大概是相对于J2EE的平缓。我相信这是很多对ruby误解和攻击的来源,从表面上看起来,要学会ruby尤其是ror,至少需要理解设计模式,知道服务器系统的运作方式,甚至需要熟悉操作系统,要用好ror,更需要接触各种项目和各种标准,这些都需要花去很多学习时间。同时配合的还有各种测试工具,部署工具,虽然不是必须,但最终还是要学的(这里我还欠缺很多呢)。我曾经开玩笑说ruby社区的人破坏了英语的纯粹性,因为他们fork新项目太容易,大家都喜欢创造各种开源项目,直接符合功能的名字都被用光了,于是只好用各种奇怪的相关的英语单词,以至于搜索很多英文单词竟然会找出来ruby的项目。这些东西直接塞给一个初学者确实有很大的压力。ruby on rails的Getting start又太停留在表面,勉强算是尝鲜,距离真正实用差的太远。相对来说,PHP就简单多了,页面直观对应在PHP文件上,什么都不用懂也能写(当然写好也很不容易),这造成的结果就是谁都可以懂PHP,但不是谁都能懂ruby。人们为了掩盖学习的痛苦,就容易去攻击对方无用。在我这次下决心深入学习之前,我也觉得PHP最好,记得之前某次尝试的时候 @rainux 跟我说,刚刚上手是很难感觉到ror的好处,需要持续用一段时间才会慢慢发现。

ror在架构和开发流程管理也坚定的支持了很多理论,比如MVC,比如敏捷,比如TDD...这些同样增加了学习成本,当然也增加了被攻击的接口,比如:TDD太扯淡了,所以ror也扯淡。或者:我最讨厌敏捷了,所以也讨厌ror。实际上,敏捷和TDD本身都没错,他们都有成熟的方法论和实践,有足够好的工具配合,能解决很多问题。如果不认同这个,只能说是开发和项目管理经验太少,没碰上过复杂问题。有错的是对敏捷和TDD的错误鼓吹,两者不能混在一起。

另外一个常见说法是寻找ruby的大流量项目案例。但其实寻找ruby开发的"top项目"没意义。DHH和37s创造的都不是适合所有人的产品,他们只愿意在某一领域做到最好。不是所有人都有兴趣创造亿级别产品,何况也没几个人真能做成。对大部分项目,千万是一个很好的级别,那是ror最佳实践领域,而在现实中,大部分项目能做到100万pv,已经算了不起了,想亿级别pv的技术方案未免过早了。

在组织技术团队的问题上,流行语言的难度是差不多的,10个人的团队任何语言都很容易组织起来,但换个角度看,任何语言也很不容易组织10个人的团队,只不过难的方法不一样。A语言可能是找人难,一周就收到1份简历,B语言可能是鉴别难,一天收到200份简历,看都看不过来。其实最难的事情是组织一个10个人的靠谱团队,这个团队用什么语言相对于寻找10个靠谱的人的难度可以忽略不计。

选择一个语言,并不是选择语言本身,同时也是选择社区。ruby社区的活力,友好,规整,统一的审美,给我留下了非常深刻的印象。DHH和37s对这个社区影响巨大,我也相信他们的理念,小公司未必不好,小公司未必不伟大,追求pv不如追求极致的产品。我们创造一个产品,是为了解决一类人的问题,并不是为了超越谁或和谁竞争。

15年前,PHP 3.0之前的版本完全不可用(当然,那时候PHP的简称还叫做Personal Home Page),那时候用c写cgi/isapi或者用perl是网站最常见的开发形式。那时候说PHP是下一代语言,很多程序员都会不同意,他们会挑出来PHP一万个不如c或者不如perl的地方。这些都没错,但世界是会变化的。PHP今天确实成了一种应用广泛,老幼皆宜的语言。我并不认为未来ruby会取代PHP,但至少,我认为下一代高质量的互联网产品出现在ruby社区的机会更大,这就像当年PHP vs perl一样,乃大势所趋。

最后我说一句可能不太好听的话,如果你没有下决心转型成为一个写信教主那样的专门忽悠的人,如果你还觉得技术有点意思,还想自己创造点产品,那么应该保持足够的技术敏感力,认真的学习一些新东西,而不是给自己寻找各种借口。就像这张漫画一样。要多问问自己,是这东西真的不好,还是自己学不进去了?当然,承认后者是很难的。一年前我也确实没学进去。

我学ruby的过程中,很多朋友提供过不少帮助,没有他们的回答和blog,估计会学的更难。在此一并感谢: @rainux @robinlu @moming2k @Anxonli @soulhacker

注:这不是一篇回忆录,本来是应邀而作。后来我决定不放在那本书里面,因为那对我并没意义。我不是一个努力-吃苦-进步的范本,也不具备影响同龄人的意义。所以,就放这里给大家看吧。

我仍认为,到我们这个年龄的人,无法改变同龄人,也无法影响同龄人,要说用自己的经历来帮助比自己小几岁的人,那太自负了。80后甚至90后很多人做的比我们更好,这是时代和信息传播方式变化的结果。他们有自己的道路。

我们只能把自己的经历写出来,供同龄人培养下一代的时候参考,这是唯一的价值。

============================
在我看来,人类唯一能被称为天赋的东西,就是好奇心。除此之外,一切品质都可以后天弥补或训练所得。好奇心是一种随着年龄的增加,只会磨损,很难增强的东西,所以我认为这是宝贵的天赋。如果从我开始学计算机算起,至今已经有23年了,但我大学毕业参加工作至今只有8年。这2个数字的差距巨大,看起来好像是写错了,当然,实际没有错。回忆这20多年,我的每一个重要的转折点,都和好奇心有关。

好奇心这种天赋,对每个人是平等的,小孩子好奇心都很强,但在成长中却逐渐消磨。不敢好为人师,今天我写下自己曲折的故事,并不认为能给我的同龄人什么帮助,他们早有了自己的道路和想法,我更希望给比我小的多的孩子们一些启示,更希望给我们这一代已经做了父母或是将要做父母的人一些启示,这可能更加有意义。

我出生在79年年末,确切来说已经算一个80年代的人了,比70初的人幸运,我在86年就第一次看到了计算机。在我的小学课程上。

为响应小平同志的"计算机教育从娃娃抓起"的号召,天津有几个小学开设了计算机课程,我的小学是其中之一。二年级的时候就开始了第一节计算机课,老师带我们到机房,整个屋子弥漫着一种塑料外壳被芯片的热量烤出来的特殊味道,我至今仍然能想起这种味道,这种味道和我记忆中的计算机是相关的。

第一节计算机课之后,我就彻底迷上了这东西。对那时候的我来说,计算机的魅力在于可以对输入的动作产生回应,这是一种非常奇妙的感觉,在此之前,我没有见到过能对我的动作有反馈的机器。这种感觉让我产生了巨大的好奇,非常希望知道如何控制它,如何使用它,背后还有什么秘密。这种好奇的力量吸引我投入很多精力去学习和了解计算机。今天看来,那简直不能算作计算机,那台Laser310,使用Z80的芯片,没有操作系统,只有rom中的basic可以用来编程。

在小学的时间里,我在Laser310上学习basic,写了很多程序,一些还发表在报刊上。后来参加奥林匹克信息学竞赛,可惜最好成绩只在天津市拿到二等奖,没能进入国家队。后来父母买了一台中华学习机给我,这是重要的一步。中华学习机是克隆的Apple II,同样使用6502的cpu,软件也可以通用。当年价格很贵,这是那时候我家最贵的东西了。买这台机器花费了家里的大量存款,但父母没有为此产生任何争议。如今想起来,这是我人生最早的转折点,我的父母果断支持了我的爱好,虽然当时我还不到10岁,虽然这是一个和考试分数完全无关的东西。

我玩中华学习机达到的最高峰,是用6502汇编写了一个屏幕卷轴引擎用来做游戏。因为basic速度太慢,6502汇编可以显著的提升速度,这是小学六年级的事情。

这个程序完成之后,我突然陷入一段不知道应该做点什么的空虚期,6502能做的事情基本已经知道了,不知道应该再做点什么。这是1992年,我上初中了。如果在世界范围内看这段时期,正是计算机技术发展最快的一段时期,但国内缺乏直接的方式去了解,至少对于一个初中生来说很难有渠道了解这些。

1995年,我上了高中,x86架构的计算机价格终于便宜了一些,爱好者们开始自己买来零件组装x86兼容机,不需要再买昂贵的IBM原装机了。天津鞍山西道成了电子一条街(就好像北京的中关村),这条街上能买到一台真正计算机所需要的全部零件,软件,当然还有各种盗版光盘。我在店里试了几次368,觉得非常动心。价格虽说便宜了,一台差不多的计算机也要1万块钱。那时候天津地段不错的房子只要几百块钱一平方米。这笔钱太多了,我实在没办法和家里提出这个要求,何况中华学习机才用了几年...

不能买计算机,那么就读书吧。天津图书馆试验性的搞了一个对社会开放的计算机图书馆,我去办了个图书证,借书看。至今我认为对我影响最大的那本书,就是在那个时候读到的。我的高中是一所市重点中学,也有计算机课,但课程内容非常简单,只是普通的操作。以我当时读到的书的水平,自然是看不起这种课程,不过这总是一个能实际操作的机会,不可放过。计算机课老师的水平很低,甚至对计算机有点奉若神明的感觉,我想对于她来说,这只是一个谋生的饭碗,她只是机械的重复一些语言和动作,并不理解计算机是什么。所以她在上面讲课,我就在下面抓紧时间尝试在书上学会的东西。

好景不长,终于有一次被发现了。她惊奇的发现有个学生竟然不是和别人一样偷偷动计算机玩游戏,而是在搞一些她完全看不懂的东西,就很生气。现在回想起来,大概是紧张胜过生气,因为在她理解的范围之外,她很怕我把计算机弄坏没法交代。后果自然是上课时不让我随便碰计算机了。

那段时间真是很难受,睡觉都在辗转反侧的想到底怎么办。结果当然是没办法。这样过了一段时间,这事情被我妈妈发现,并猜出来了原因。父母只问了我一个问题,如果咱们买一台,你懂不懂,买来配件自己能不能装起来?我说没问题。 随后他们又是毫无争议的决定买一台。父母把家里的存折一通折腾,总算是凑够了钱,赶在了春节之前,总算把一台486搬回了家。

这台计算机伴随我度过了之后的几年时间,在这上我学会了C和C++,学了点8086汇编,当然也玩了不少游戏。后来又买了一个9600的modem开始上fido的bbs,搞的家里电话费暴增。fido虽然是很简单,可毕竟是一种网络,人们开始聚集起来,也能知道更多的信息,从这个年代开始,我再也没有过前面几年那种"没有东西可学"的感觉。fido大概是中国最早网络社会,在这里我认识了很多朋友,也有很多争吵,看到了很多好的技术资料。

这时候,互联网的大潮已经很近了。我高三的时候,天津有了第一个商用互联网节点,不过价格高达30多块钱一小时。去看看互联网,我这个奢侈的要求仍然被父母支持了。互联网来了,这算是我人生最大的转折,从此之后,无论我的工作和知识结构,还是获取信息的方法,或是人的关系,都为之改变。

高三是我很矛盾的一年,一边要忙着高考,另外一边又有无数的新鲜东西可以体验,fido上的一些网友已经开始尝试互联网创业,我认识的一个天津网友干脆放弃了高考到了一家游戏公司去做游戏...太多的变化就在98年那一年发生。

要不要干脆我也放弃高考算了?现在我已经想不起来当时和父母的对话了,只记得大概的意思是,大学是一种经历,你可以不在乎它,但是如果这时候不上,以后很难有机会再上。这个观点说服了我,不过父母同意我只要上一个一般本科就可以,不是必须上重点大学,至于上什么大学,什么专业,都由我自己选择,当然如果想考计算机系,就要很努力,那是当年最热门的专业。这给了我无比的自由,我所上的高中教学质量还不错,历年高考本科率已经超过90%了,因此一般本科这个标准非常低,甚至意味着别人在努力拼命想考一个更好一点的大学时,我可以悠闲自得的在家里玩计算机。至于上计算机系,我没想过。

不愿意上计算机系,是一个非常傲慢的理由,我觉得他们教材水平太差,跟不上时代。某种意义上这种说法是对的,但基础真的非常重要。缺少了这些专业训练的结果是,到今天,我已经31岁了,仍然时常会觉得力不从心,要在业余时间读国外大学计算机本科教材。不过这也没什么可后悔的,我也有自己独特而有意义的经历。

于是我的高考很轻松的考了一个足够上一般本科的分数。报志愿虽然没有写计算机系,但还是选了自动化专业,这样算相关专业,将来找工作也不会太麻烦。学校选了一个建筑院校,因为这个学校的自动化专业是智能建筑方向,选这个学校的原因是接触软件时间长了,去看看软件和真正现实中的设备配合起来一定很有意思。做为一个喜欢搞行为艺术的爱吹牛的人,我只写了这么一个志愿,就把表格直接交了。当然后来学校老师觉得这样做太离谱,打电话给我父母,让他们把表拿回去添好了二三志愿再交回来。

当然最后的结果确实是第一志愿录取了。于是我毫无悬念的到了这个建筑院校开始学电气工程自动化专业。

一开始就为了随便混个学历,所以上学也就很不认真,只求经历,不求效果。但是过了很多年之后,突然发现这四年大学还是给我留下了很多东西,这些足够弥补没有上计算机专业的遗憾。甚至得到的可能更多一些。

在大学中,我学到很多有意义的东西,至少有这么几个:

1 项目管理。建筑工程应该算是人类历史最悠久的工程,因为其一旦制造就难以修改,所以建筑工程的管理非常有特点。相对于我喜欢的软件,则是另外一个极端,软件工程是最新的工程类型,而且容易修改。这两者之间区别甚大,但是在项目管理的本质上又有颇多相似之处。用建筑工程管理的思路来看软件,会有一些不同的感觉。在工作这些年中,我自觉项目管理做的不错,完成度和时间控制好过很多项目,我使用的很多思想是来源于建筑工程的。

2 要了解具体实现。四年大学中有三年要在图板上画图,我非常不理解在CAD如此发达的时代为什么还要用图板。后来才理解知道具体实现的意义。除此之外,我们还学了很多课,要知道建筑结构,知道相关专业的工作方法等等。这些具体的实现方法会改变设计的思路。对于软件也一样,要知道更多的技术细节,才能对整体有把握。反观现在的行业,很多产品经理只是凭想象做事,完全不知道实现产品的技术和设计。这大概只有在新兴行业才能发生的事,我是不相信这样能做出来好产品。

3 见过了大场面。建筑工程都是大场面,用非常多的人,非常多的工种,非常多的机械和原材料互相配合,最终完成一个产品。这些东西都是在现实中真实存在的,有过参与这种工程的经历,会更加理解如何使用资源。

4 多学点东西,哪怕看起来没用。我们专业本来应该只管和电气设备有关的东西,但事实上学的相关专业东西很多。到实际做起来才发现,一些看起来自己完全用不到的东西,对实际工作有非常大的帮助。不同专业思考问题的方法不一样,熟知对方的思考方式,才容易相互配合,也能让自己专业的东西缺陷更少。这对于整个工程是很重要的。

因为没把太多心思放在专业学习上,大学时候我倒是省出了很多时间,可以用来看我想看的书,或是尝试有意思的技术。而且竟然还创业了两次。

第一次创业是刚上大学的时候,那时候完全觉得这专业没什么可学的,将来反正我也不会做,于是就找点其他的事情试试看。就和几个朋友一起试图做网络游戏,这是98年的事情,后来当然失败了。因为光会写点程序,没有人策划游戏,没有人做设计,也没有营销的办法,这也让我知道了一个拥有不同角色团队的重要性。

第二次创业是大四的时候,那时候快毕业了,有朋友问我能不能做GSM网络的自动测试仪表,这个系统类似于工业控制系统,与其说是软件,不如说用软件来包装自动化的系统。这个算我的专业,当然可以做。这个系统做了2年多,也卖出了一些,我不仅写了程序,还去给用户做过培训,也是一段难忘的经历,这是我第一次真正接触最终用户,知道他们的需求,知道他们如何使用软件。最后这个公司仍然失败了,失败的原因是团队散架了,负责销售的人认为自己功劳最大,偷偷去和别人合作,于是团队就无法继续了。这次之后我知道了选择一个稳定团队,在前期把利益分配公平的重要。

很幸运,我在大学毕业一年之内,就明白了这两个本来需要在后面几年吃很多亏才能明白的道理。

后来的经历似乎简单了很多,去一家做远程教育的公司做程序员,后来做技术部经理,后来离开换了一家公司,再后来又创业。这段时间仍然学到了很多东西,但更多的变化是增加眼界和积累经验,最基础的东西反而提高不多。现在反省这段时间所做的事情,因为觉得"值得做"而做的事情太多,而"非常喜欢做"的东西太少。有很多原因导致这种状态,但最根本的是对新东西的好奇心不够,否则一定会找到新鲜的"非常喜欢做"的事情,而不是停留在解决"值得做"的问题。这段时间中,我错过的最大机会就是移动设备相关的,直到2009年底我才意识到这个领域的重要。

从苹果在2007年发布第一代iTouch的时候,我周围一些朋友就开始研究这个设备。可惜我在很长时间内并没有看出来这个设备改变世界的能力。以至于在下面的两年内都没投入时间关注。我时而回想,如果我也在2007年就专注于这个可能是未来10年最有活力的领域,那么之后的道路选择应该都会有所不同了。不过还好,晚了2年之后,我终于意识到了这个领域重要,也做了一些补救,算是勉强跟上了时代。

回顾我的全部经历,其实在很多年前,主要的道路就已经确定。后来的这些年中虽然有不同的工作,不同的经历,也有困惑,迷茫,找不到方向的时候,不过都不是主要问题。对我影响最大的,仍然是20多年前被好奇心带领走向计算机的世界,由好奇心带领在这个世界中寻找方向,走向喜欢的领域,学习更多的知识。在这20多年中,有一多半时间是靠父母支持才得以完成的,这非常重要。我见过很多因为被家庭确定了方向,走上了自己不喜欢的道路的人,他们有的耽误了很多年时间,又回到自己喜欢的领域,有的则再也没有机会。对我们这一代人来说,我是幸运的。现在我周围的朋友已经逐渐开始有了孩子,做起了父母,希望他们能给下一代更多的支持,允许他们按照自己的想法去探索世界。

最近拜移动和电子商务泡沫春风,行业发展热火朝天,颇有上一次大泡沫崩溃之前的景象。这次和以往不太一样的是,山寨的速度比以往快的多,不仅个人创业团队以更快的速度去山寨,大公司也不落后。同时大家还都喜欢喊着中国用户特点和国外不一样。说起来一样不一样,这倒是一个有意思的话题。

一 用户特点一样吗?

这问题其实毫无意义,拿着案例说中国用户和国外不一样,所以要如何如何的,基本都是眼界不够的结果。比如说,新浪这种新闻门户为什么是这样?这并不是因为中国用户和外国不一样,而是因为新浪就做成了这样。最后结果就成了做门户只能这样。当时的历史时期把风格奠定了,以后也就不会再改了。与其说中国用户特点决定了新浪,不如说新浪造就了一批适合他们的用户。

同样的讨论还有,新浪微博做成这样是不是更适合中国用户?我看也未必,因为在新浪微博之前有个叫饭否的完全版twitter拷贝猫,人家活的很好,用户量巨多,用户感情前所未有的深。如果不是被有关部门关了,恐怕现在也没有新浪微博什么事。同样的道理,并非新浪微博的做法更适合中国用户,只是一个这样的产品造就了这批用户,并不是中国用户就适合特定一类的产品。

如果非要说不一样,中国用户和外国用户确实有很多区别,语言不一样,生活习惯不一样,但这又怎么样了?改革开放初期可口可乐到中国赔的要死,人们都说中国人喝不习惯这东西,还是咱的山海关北冰洋顺口。现在是什么情况?可乐是中国最知名的饮料,山海关北冰洋偶尔可以在小店买到,大家都当看到古董一样激动。同样的情况也发生在麦当劳之类的快餐身上。

其实就算是中国人和美国人同样有那么多相同之处。比如说,都要吃饭,都怕麻烦,都是灵长目下的一种生物。如果非要说不同,就算中国人也有那么多不同。比如,汉族听不懂藏语,北京人听不懂上海话,长三角不吃辣,四川两湖不吃辣活不了,电信和联通网络之间的访问速度比访问美国还慢。那么我们是否应该对上海人和北京人区分开,做不同特点的产品?

某些情况下也有道理,但大部分情况没有道理。事实上,就算这种生活中的情况也有所改变,比如,上海的湘菜馆川菜馆都很多,去吃还要排队。全球一体化日益严重,人也越来越相似了。

说回互联网这事,最重要的两个因素,大家是一样的:1 大家使用同样的计算机 2 大家所访问的网络基于同样的 TCP/IP协议,并且互通。在这两个因素之下,所谓懂中文,只是百度这种公司一厢情愿的宣传口号,当不得真。

二 微博的乱战,LBS的乱战,kik的乱战

山寨的速度变快,大概是从微博开始的。上一个热潮是blog时代,三大门户加入战争是blog火了很多年之后的事,而twitter火了1年之后,门户们就加入了战团,到foursquare火的时候,半年之后大家就参战了。kik火了不到两个月,大家就冲进来当作了下一个增长点。

事实上,这几个东西的门槛是越来越高的。微博需要有智能手机才好玩,LBS必须有智能手机且需要有GPS。这些山寨一下尚且可以理解。但kik的山寨实在是太离奇了。

我在twitter发过一条推,问kik和飞信到底有什么区别,除了后者是移动官老爷做的,没准备好好做东西之外。答案千奇百怪。事实上,我要表达的意思是,kik在中国绝对没有短信方便。这才是真正的中国和外国用户不一样的地方,但到了这个时候,似乎人们都只关注了"中国人和外国人都用手机"这件事,忘记了其他的。也不去认真研究一下为什么kik在美国会火起来,只看了个"迅猛增长"的报告就开始山寨。之后就是下级忽悠上级,一直忽悠到大老板或投资人。

kik为什么火,四处都有分析,比如最简单,真实网络,跨平台,之类,但这都不在点子上。真正的原因我认为是:短信这东西对美国人来说不友好。

经过和在美国以及曾经在美国生活的朋友确认,我概括出来几个主要原因:

1 英文140字能表达的意思太少了,非常鸡肋,甚至比不上中文70字
2 美国短信太贵,要$0.2一条,相比之下打电话便宜太多了
3 美国固话非常方便,手机网络反而不怎么样
4 长期不怎么发,最后就成习惯了

在美国kik是解决了需求的,不限制文字长度,方便又便宜的工具是很好的,从美国的角度看,kik是介于邮件和IM之间的东西。在中国,这个东西叫做短信,某种情况下也可以叫做手机QQ。

这个恰好就是前面说的那种的反例,中国用户和美国用户确实不一样,所以要火起来,原样照搬是不行的。必须得做点变化。

可惜,大家都忙着山寨,没人创新。我最近看到的很多东西都是这样,分不清边界,搞不清哪些是应该改变的,哪些是应该学习的。中国用户早就不是受传统习惯影响的中国用户了,甚至中国人也不再是受传统习惯影响的中国人,这30年,中国的变化尤其大,我们的行为模式比西方还西方。只看着表面情况,说中国用户习惯不一样,所以要如何如何,这就是自欺欺人了。

最后,补上一句话:"我们造就工具,随之工具造就了我们"。这句话来自Marshall McLuhan话,我最早从端木恒那听到,大受冲击。这就是我想说的。

注:本文是因 @guodaxia 想知道这场乱仗的原因而起,2个问题也都是她所提,我起先写在我的buzz上,后来整理成此blog。

最近QQ和360大战,战火颇有蔓延之势,IT/互联网行业口水战一直不少,很多网站也是靠着口水战产生的公关和市场费用生存的。但像这次,让行业之外的普通人也感觉到,并且因此利益受损的事件并不多,上次涉及如此之广的,大概还是魔兽世界争夺战吧。

很多人奇怪,为什么几个软件会打的如此激烈,很多人分析,比如QQ侵占了360的地盘之类,不错,这确实是原因,但更深层的原因,流氓们的身后是什么,是否有人想过?

一 流氓的背后是垄断,垄断的背后是...1 法律无保障,程序无正义

这是最主要的问题。

现在很多人认为是3721当年耍流氓,但事实上是cnnic以所谓的官方身份,通过试图颁发政府规范的方法争夺3721市场。对于被压制一方的创业者,唯一的办法就是通过技术上的手段先予以反抗,也就是后来大家都知道的流氓软件。当年这是一件大事,某种意义上,也是少见的民斗官并获得胜利案例。最近周鸿祎在公开信中说到"被冤枉的愤怒让我几乎要冲过去决斗",大概就是如此。如果换一个角度看过来,就是说,我好好的创业,用户也喜欢(这并夸张,当年最早的一批用户是主动安装3721的,在没有搜索引擎的年代,去一个网站是有困难的,今天我们可以说"搜索一下XXX,第一结果就是",当年只能靠一个字母一个字母的让对方抄下来,回家输入进去。在地址栏输入中文,确实方便了一些用户。如果没有后半段的流氓软件大战,这是创新),但突然冒出来一个政府的三产,要抢我的生意...

没错,这是发生在用户计算机上的私斗,也确实置用户利益于不顾。很多人在呼喊:"用户在哪里?",实际上,更应该呼喊的是"法律在哪里"?如果有法律保护,并通过正当程序解决这些纠纷,就会极大缓和这种私斗的行为。

2 官方组织无权威

正常行业都有行业工会来协调一些纠纷,做为法律之外的补充。互联网行业的互联网协会完全发挥不了这作用,他们没有能力协调纠纷。甚至会有倾向的支持某方,加入混战。而上级主管部门主要主管的是如何删除言论,引导舆论,在魔兽世界的争斗中甚至到了如何获取自己的利益。他们热衷于设置各种门槛,发各种许可证,他们还...

至于怎么让行业健康发展,他们不关心。

3 垄断已经形成

中国的互联网普及在非常短的时间内完成,在这个时间内一部分企业(或许是远见,或许是运气)正好站在了正确的地位,顺利获得了垄断地位。之后又缺乏足够的创新,只能复制,因此中国互联网同质化严重。这个问题并非存在在腾讯身上,一线互联网公司几乎都有这问题,当年博客兴起,所有互联网公司都做了一个,现在微博兴起,他们又都做了一个。

垄断造成了各公司习惯利用自己的地位或话语权直接为自己谋取利益,这还是一个适合用丛林法则来解决问题的环境。


4 互联网管制

互联网管制方更信任巨头,因为这些公司有良好的合作基础,所谓"更知趣",也能给他们更大利益。管制者没有扶植小创业公司的兴趣和义务。这样的管制进一步压制创新,导致垄断更加严重。比如饭否本来可以撕开竞争的口子,但因为管制全军覆灭,同样的产品在巨头手里可以活下来并成为支柱产品,就是现在的新浪微博,以致于腾讯在这场战争中都需要到新浪开一个微博,并要求新浪给予实名认证。为什么新浪获胜?很简单,因为他们对内容审查最有心得,最有经验,做的最好。


综上,整个市场在各方推动下,最终成为一个高垄断,缺乏法律制约,缺乏创新,资本非常集中的市场。在这样的市场中如果想获胜,只能采用非正常手段,而防守方为保护自己的垄断地位,也只能依靠流氓手段。这就是现状。

另外提醒一下,目前的战争和03年的3721 vs cnnic有几分相似。万网之类的当年还算巨人的公司,也发出过"请不要忘记用户利益"之类的呼声。历史总是重合的。


二 他们做过的坏事

腾讯被骂做流氓,主要有两个问题,一为复制,二为协助跨省追捕

1 复制和抄袭复制和抄袭这个流氓行为是可以提上台面的,可以被媒体公开报道,喊打声最多。

某种程度上,腾讯确实压制了中国互联网的创新,他们抄袭复制如此强烈,几年前还是抄国外产品,抄大公司,对方尚有抗衡能力,也影响不大,现在大公司同质化越来越严重,都缺乏创新,于是腾讯掉头回来抄小公司,小公司是没能力抵抗的,损失惨重。这最终对整个互联网环境造成影响。现在,美国互联网始终处于活跃期,几乎每年都有热点出现,中国互联网在政府管制下,本来就有很多领域无法涉及,再加上腾讯不停复制,惨不忍睹,中国互联网没有创新。

从另外一个角度看,公司经营主要是对股东负责,而不是对用户负责,这种做法也就非常正常了。只要被腾讯评估为可以带来利润增长业务,又没有法律限制他做这项业务,做为一家公司就应该去做(对于股东来说,甚至应该叫做有义务去做)。事实上中国不抄袭的互联网公司也不多,新浪搜狐网易金山百度都在抄袭,只不过缺乏腾讯利用IM造成的垄断地位,抄起来并没有腾讯那么成功罢了。目前的微博热潮完全说明这个问题,他们不仅抄袭,而且要抄袭到功能和界面都一样。

在复制这一点上,如果说腾讯是流氓,那中国互联网可以说全都是流氓。只不过有人耍流氓成功,有人耍流氓而不成。

出现这种状况,一方面如前文所述,法律不健全和缺乏行业引导造成了部分公司垄断,另外一方面是缺乏对版权,创新,创意的保护,以至于最先创造出创新的公司无法通过法律保护自己的利益。在美国,如果一家小公司的创意非常成功,大公司会采用收购策略,而不是直接复制一个,复制会遭到法律严惩,在中国,与其收购,不如复制。

这样我们看到了,腾讯流氓的背后原因还是法律问题。

2 跨省追捕是个敏感区

腾讯导致跨省追捕这个问题是敏感区,不会被媒体大幅报道,只有特定人群骂的最狠。在媒体上的体现只有一些记者巧妙的通过"当办案民警监控他的QQ时"之类的句子模糊陈述。事实上我们都知道,除了正常协助警方破案,通过这个聊天工具造成的跨省追捕案件很多,某些案件中甚至会有"打印的QQ聊天记录"这样的证据出现(同学们,要仔细阅读公开的判决书哦)

这种行为是非常恶劣的,但凭此说腾讯流氓,理由也不充足。原因同样如前所述,一个公司首先要保证股东利益,如果冒着带来利润损失甚至停业的危险来维护用户利益,那是不可能的。(如果真的因此导致停业,也会影响正常用户的利益)。我相信这家公司中任何一个人,都不愿意被迫配合这种事情。但,除了配合,又有什么其他办法?

另外,我也相信,有太多公司试图配合这种事情,甚至愿意充当这种工具,只不过他们没能力做到。微点案中,金山和江民的伪证,也是同类事情,对于违法的事情他们都会去配合,对于仅仅配合提供一些数据,相信更不会有公司拒绝吧。


360目前被骂做流氓也有两个问题,一个是当年3721开创了流氓软件,另外一个是现在的竞争。

1 先说当年3721的事。

前面提到过,当年流氓软件的出现是和cnnic竞争的结果,cnnic以官方垄断资源,试图通过制定国家标准和规范的方式,令自己成为一个唯一合法的通用网址组织。3721做为一家民营创业公司,在官方压制之下,出此下策是无奈的。所谓的流氓软件就是不能正常卸载,或者干扰竞争对手的运行,收集用户信息等等。在那个时代,中国互联网公司少有例外,在我印象中,没干过的应该只有网易,金山,阿里,盛大这四家。这又是一个有趣的现象,这四家中3家依靠网游盈利,网游本身有巨大的粘性,也带来巨大的利润,并不需要那么迫切的占领桌面入口(或者也可以说是天然就占领了桌面)。可见当时中国互联网竞争之惨烈,如果你不做流氓软件,又没有足够的粘性,那么就意味这被对手侵占市场份额,甚至消灭。

3721过去的流氓行为被人们继续套在现在的360身上。当年周创造360时,号称是要终结流氓软件时代,这句话是06年说出来的,当时很多人是不信的,现在看来,这件事周鸿祎确实做到了,过去无数的工具条,下载站捆绑安装,无法卸载等都几乎绝迹。一些人对360嗤之以鼻,但去看看普通用户,360确实帮他们带来了好处,让他们的计算机更好用。这是事实,这也是360装机量能在几年之内达到如此巨大数量的原因。


在目前看来,我们至少可以谨慎的说,没有证据表明360有流氓行为。有人怀疑360也会造成跨省追捕等等,不过事实上这种案例也没有被发现。做为软件的特质来说,因为360没有用户之间的交流功能,360手里掌握的用户信息确实比QQ少的多,也就没法截获证据,至于监控计算机中全部文件,那需要占用很大的资源,并不现实。

3721虽然很流氓,但有一点,周鸿祎做到了,他没有弹过广告框,哪怕是后期利润紧缩的时候也没这么干过,而其他家的插件工具条都干过这事,搜狗输入法曾经号称绝不弹出,但在奥运会期间弹出过新闻,最近据说又在弹出"微门户"(这是在学习QQ的弹出新闻吧,但QQ弹出用户是喜欢的,输入法弹出新闻确实不合适)。这一点我们可以认为周鸿祎是有底线的,也可以认为他是聪明,有远见的。

到目前为止,360一些事情都做的很巧妙,确实把决定权给了用户(虽然他们引导用户去做他们希望用户做的事情),也确实没有捆绑安装,不能卸载等等流氓软件行径。但很多人仍然怀疑360在未来的某一天会突然做坏事。这种怀疑是很好的,但不应该只怀疑这一家软件公司,而应该怀疑所有的公司,所有的产品,甚至应该怀疑...

2 再说竞争问题

在我看来,周鸿祎如战神转世,他创业的10年就是战斗的10年,一场仗接一场仗的打,无论是cnnic这种官办三产还是瑞星这种有能力制造冤案的企业,都打了过来,并且胜利了。

前文说过法律缺失的问题,在一个没有法律保证的市场上,撕开垄断只能靠暴力。垄断是一种暴力,反垄断只能更暴力。事实上就算通过法律解决,法律本身也是一种暴力。暴力的姿势总不会太好看。

360对金山这场仗,被很多金山的人称作流氓,事实上金山在微点案中的不光彩表现,金山网盾捆绑傲游安装,毒霸的虚假宣传,金山MSN防护盾对用户的骚扰...哪个都很流氓。金山没资格骂360流氓。这和前面说腾讯的情况一样,很多公司不是不流氓,是连流氓的资格也没有。

写到这里,大家应该明白了所谓的流氓背后是什么,导致流氓的原因是什么,中国的问题都很相似,这些问题甚至都用一句话就可以概括,可惜这句话里面全是敏感词。

流氓的背后,是敏感词。

Core Text提供了一系列方便的函数,可以很容易的把文本绘制在屏幕上,对于一个Frame来说,一般并不需要担心文本的排列问题,这些Core Text的函数都可以直接搞定,只要给他一个大小合适的CGRect就可以。

但,在某些情况下,我们还希望知道这段文本在绘制之后,对应绘制的字体字号设置,在屏幕上实际占用了多大面积。举例来说,有文本段落a,屏幕大小rect,通常做法是以rect创建path,然后创建CTFramesetter,再然后创建CTFrame,最后用CTFrameDraw画出来,这时候,往往文本段落占用的实际面积会小于rect,这时候就有必要获得这段文本所占用的真正面积。

最理想的情况是使用

double CTLineGetTypographicBounds( CTLineRef line, CGFloat* ascent, CGFloat* descent, CGFloat* leading );

这是Core Text提供的函数,传入CTLine,就会得到这一行的ascent,descent和leading,在OSX上通常可以工作的很好,但是在iOS(iPhone/iPad)上这个函数的结果略有不同。

正常情况下,计算行高只需要ascent+descent+leading即可。在这个略有不同的情况下,leading的值会出现偏差,导致算出来的结果是错误的。如果不管行距,ascent+descent计算出来的Glyph的高度还是正确的。

这样就有了第一步

在创建用于绘图的CFAttributedStringRef时,除了设置字体,多设置一个CTParagraphStyleRef,其中特别应该确定行距kCTParagraphStyleSpecifierLineSpacing。在计算这里时,先逐行计算ascent+descent,累加起来,再加上一个行数*之前设置好的行距,这样算出来的就是这些文本的实际高度,CTLineGetTypographicBounds返回的结果是宽度,这样就可得到文本实际填充面积的Rect了。

但是这还是有问题,因为OSX上和iOS处理不同,所以事实上iOS的模拟器和真机的最终效果是不一样的,这样调试程序很麻烦。
于是还需要第二步

在最终往页面上绘制的时候,不再用CTFrameDraw来一次绘制全部,而是使用CTLineDraw逐行画,在画之前,先用CGContextSetTextPosition来设置好每行文本的位置。这样就保证了在任何平台上绘制效果一致。

问题就解决了。

CoreText在OS X和iOS上实现有很多细节区别,比如说,对CTRun的划分方式也不一样,在iOS上划分出来的Run数量比OSX上少很多,是按照字体划分的Run,按照文档出来,这是正确的,但OSX上是一个字一个Run这样划分的,和文档不符。iOS上的处理显然效率更好。

stackoverflow 上有一个类似的讨论,不过没考虑到iOS的区别

数据统计中!!

最新评论共有  位网友发表了评论
发表评论(评论内容:请文明参与评论,禁止谩骂攻击!)
不能超过250字节,请自觉遵守互联网相关政策法规.
昵称:    发表评论 (Ctrl+Enter快速回复)

关于本站 | 合作加盟 | 合作说明 | 免责声明 | 广告服务 | 网站地图

健康游戏忠告:抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活

如有意见和建议,请惠赐E-mail至350317@qq.com 联系QQ:350317

Copyright © 2010-2013 Www.27zG.CoM
苏ICP备11049833号