Category: 未分类

  • iPad == 游戏机 + 浏览器

    这两天苹果开始给 iPad 打广告,至少我在等电梯的时候看见了。看到里面表现它可以用于工作的镜头的时候,我不由地感觉到了痛苦——就是那段双手在 iPad 虚拟键盘上打字的。打过字的人都知道这个姿势有多痛苦。手指要完全悬空,只有打字的时候才可以接触那个字母,这就是它的虚拟键盘。那 iPhone 为什么人们发那么多短信不累呢?因为 iPhone 小,虚拟键盘也小,一只手握,刚好像普通手机一样打字,比较习惯。在 iPad 上,一般就是“一阳指”或者双一阳指了。所以,根本别想用 iPad 来工作。更何况这上面又太多其它的诱惑,让你无法集中注意力到“工作”上。

    根据我的经验,iPad 最适合的就是打一些小游戏,不需要打开电视或电脑,拿起来就能玩,几乎没有学习成本。EA 打折的那天我买了个赛车游戏,为了通关一下玩到凌晨五点,后来又多次清除数据重新玩,实在太上瘾了。

    前阵子有个朋友打电话问我怎么买 iPad,我说我给你玩一个月你就打消念头了。昨天发短信问,她说不想买了,除了打游戏没什么用。这下帮她省了不少钱。不过我觉得游戏,iPad 的浏览器也是不错的,操作方便,看视频也方便,当今国内的视频网站大多也都支持了,很好。

    所以我极力不推荐大家买 iPad,除非你想给它开发应用,或者花3000-4000元为了一个“On iPad with IM+”. 如果看书的话,Kindle 3 比 iPad 好太多了!有 iPad 的钱,完全可以买一个 Kindle DX,简直爽歪歪。

  • Quora – Python 驱动

    写这个主要是因为我做自己的这个网站用的就是 Python 技术(基于简洁的 web.py 框架)。虽然 Python 只是业余爱好,不怎么熟悉(每次写代码都得上网查好多资料,包括语法),但是很喜欢它。这几天发现最近很火的新问答网站 Quora 也是用 Python 做的,它自己网站上有一个问题就是——

    Quora 是使用什么语言和框架做的?

    What languages and frameworks were used to code Quora?

    创始人 Charlie 的回复:

    • 后端使用 Python 语言,Pylons 框架,但是框架一半左右被自己的系统替换(LiveNode/webnode2)
    • 前端 JavaScript 基于 jQuery
    • Thrift 做后端服务器之间通信
    • Comet Server 使用 Tornado
    • hosting 主要使用 Amazon EC2, S3
    • 目前数据库使用 MySQL,memcached 做缓存,还有两个用 C++ 写的服务一起作为 data store
    • 版本控制用 Git

    这个组合看起来不错!(其实我就是看着酷,其中有好多技术都从来没有尝试过。) 有人接着问:

    为什么 Quora 选择 Python 作为开发语言

    Why did Quora choose Python for its development?. 下文只是简单整理,不是翻译。

    创始人 Adam 的回复里,提到两个创始人正好都比较熟悉 Python. 另外他说明了排除其它语言的过程:

    • PHP 根本不考虑。Facebook 陷进去无法脱身,不代表它是目前最好的选择,由此得到的经验是编程语言的选择非常重要而且改变的代价非常大。Adam 此处给了其它几个链接,其中有指出 PHP 一大堆弱点的,也包括一个问题 “Do Facebook engineers enjoy programming in PHP?“. 我很赞同 Facebook 的工程师说的,familiarity breeds contempt. 没有完美的语言,每一种语言都有长有短,当把它用到极限的时候,短处就变得很显眼并让人烦恼。我个人认为 PHP 也仍然是不差的选择。

    • C# – 看起来不错但是 –

      1. 他们不想把基础搭建在微软的技术平台上。SQL Server 很好,不过 Quora 需要一大堆开源软件,这些代码即使支持 .NET, 也支持得比较差。
      2. 不想冒险使用 Mono,因为不知道它能撑多久,而且据说有性能问题
    • Java 程序因为一些原因很容易变得更长,写起来比 Python 痛苦多了。

    • Scala 太新,也是一种冒险,另外虽然不像 Java 那么差,它也天生继承 JVM 的一些弱点。

    Python 虽然有性能问题,但是 Quora 一些性能很关键的代码都用 C++ 写(Python 的优势,Java 做起来相对困难)。至于类型检查的缺乏,Quora 通过完善的单元测试来弥补。

    Quora 另一位创始人 Charlie 加了几点:

    • 创立 Quora 的时候,Python 有许多很好的 web framework
    • Python 的数据结构跟 JavaScript 映射很好,这样 CS 之间交互数据很方便
    • Python 代码更易读
    • Python 在各方面有很多成熟的 library

    还有一个问题:

    为什么 Quora 要用 Pylons 做开发

    Why did Quora choose to develop in Pylons?. Charlie 说他们想把 Pylons 的很多东西替换成自己的,比如他们不需要模版和 ORM. 在这方面,Pylons 比 Django 之类的要好。

    说到这个,我个人也很不喜欢 ORM,比如 Hibernate, 比如 RoR 的 ActionRecord. 如果认真做一个网站,不使用 ORM 不会让你的速度变慢多少。而使用了 ORM 必然会有额外的负担,数据库也更加不透明,定制变得更困难。


    希望 Python 这个语言发展得越来越好,如链接中 Adam 所说的。

  • 劣质的飞利浦音箱

    元旦前有一天上班路上,我正在考虑把广发的一张信用卡注销呢,接到一个电话正好是广发的,吓我一跳。广发说我刷卡授权码尾号有8,送我一个飞利浦的音箱。我心想,Google 的 AdSense 绝对是浮云了,广发已经用上 MindSense 了。虽然有点恐怖,我还是决定保留广发卡一段时间。

    今天上班收到了这个音箱,跟我想象的一样,小小的。把旁边的同事叫过来炫耀了一把,不过马上就发现拿起来的时候主音箱里有东西哗啦啦响,透过后面的孔一看,喇叭掉了。

    晚上到家拆开,飞利浦的工艺让人惊叹:

    劣质飞利浦音箱

    看看喇叭周围掉落的干了的胶。把喇叭翻过来,上面两滴凝固的是什么东西?线路板上还有千丝万缕的丝线。再看线路板另一面:

    劣质飞利浦音箱

    这是在擤鼻涕吗?

    好了,把垃圾掏出来,把喇叭塞进去,螺丝拧好,来个合影:

    劣质飞利浦音箱

    以前还觉得飞利浦的东西比较精致的,现在看到这个,虽然是它的超低端产品,可是一下对它别的东西也不放心了,至少音箱、耳机再也不可能买它的了。不知道正在使用的剃须刀、榨汁机里是什么样的?飞利浦非要为这点利润丢掉声誉?

  • 2010年没了

    看了看Google Reader,大家都在总结过去展望未来。我往窗外一看,北京的黄昏,刮着狂风,窗外有一些惨淡的灯光,2010年就这么没了!随大溜总结和展望是有点俗,不过还是写几句吧。

    我是个不容易满足的人,在村里觉得村子不好,在县城觉得县城不好,去合肥上学觉得合肥垃圾,来了北京觉得北京垃圾。不过现在北京真的是垃圾了,没人反对我这么说吧?虽然在“北国”,北京算个比较整洁的垃圾坑。入冬后有一阵子天天是晴天可是看不见太阳,新闻却说十几五的减排目标提前完成了,于是我怀疑给我配眼镜的做了手脚,给我配了个太阳镜。另外为了解决拥堵,又一高招出来了──限制买车。我打赌2011年北京会堵得更厉害,堵得喘不过气来,堵死。

    我在2011年,只办三件事──赚钱,赚钱,还是TMD赚钱!顺便寻找人生的下一站,虽然在那儿我依旧不会满意。

  • 亚马逊Kindle 3优点与缺点

    Kindle 3用了有一段时间了,讲讲它的优点与缺点:

    亚马逊Kindle 3之优点

    • 逼真的纸质效果。如果在电脑或iPad上看书,过一会眼睛就受不了了,但是kindle的效果几乎跟纸质书籍一样。

    • 容易获取英文原版书籍。一部分英文书可以获得影印版(这些多是经典的计算机书籍),国内的售价相对国外原版相当便宜。但是大部分书是没有影印版的,尤其是文学、历史方面的。买国外的纸版的话,不说售价,运费就很高。

    • Kindle内置辞典,遇见生词可以随时查询(默认的词典是英英,但是可以自己传字典上去)。跟上一条一起,Kindle就是个学英语的好工具。以前总是想有个带摄像头的电子辞典,遇到生词扫一下就出来解释了。有道的手机词典号称有此功能,不过太鸡肋了,累死你也取不对一个词,试过的都知道。现在,纸质书与电脑的屏幕取词功能完美结合了!

    • 书签,评注,高亮。每次重新打开一本书,Kindle自然会翻到你上次读到的地方。也可以自己创建书签,在某个地方加批注,选择一段话高亮。如果有网络,还可以把选中的内容和心得一起分享到Facebook/twitter(当然最好是3G了,你明白)。

    • 如果书中有链接,可以直接点击打开在 Kindle 的浏览器中看。虽然浏览器只是 experimental, 也可以凑合用了。尤其是菜单中还有 “Article Mode” 选项,选择以后就像看报纸一样,很舒服。而且 3G 版本还是终身免费的 3G,随时随地都可以查阅相关资料!

    • 超轻。我刚买一本不到700页的纸质很薄的书(16开本),重量是 1.1KG, 端起来看可是体力活。而 Kindle 3 的 3G 版本也只有不到 250 克!加入一本 700 页的书,会增加多少重量?据说存储器的重量会随存储信息的多少而变化?

    亚马逊Kindle 3之缺点

    • Kindle版本的书籍质量参差不齐。同一本书纸质的很好,但是同一家出版社做出的Kindle版本可能问题很大,而且同一本书可能有很多人在做Kindle版本。Amazon会把同一本书的纸质版本和Kindle版本的评论放在一起,所以你在看一个Kindle版本页面下面的评论时,大部分也都是对纸质版本做的评论。如果在里面能找到几条针对Kindle版本的,很大的可能会发现与其它评论的调子完全不一样,选择的时候一定要小心。openlibrary.org的书,我试了一本The Wealth of Nations,发现是OCR的结果,很恶心。当然收费的Kindle书籍也可以免费试试Sample.

    • Kindle的做工,还不是特别精细,尤其如果跟iPad比的话。我的是Kindle 3,第一天就注意到有时候会啪啪响,第二天发现外壳跟屏幕粘合的地方翘起来了,捏一下就会粘上,但是松开后它会慢慢翘起来,和屏幕分开的瞬间就会有啪的一声。[Update 2011-04-06] 最近发现屏幕下面两个角处的黑色塑料已经开裂,暂时还没影响。

    • 不支持脚注。因为Kindle有不同的尺寸并且字体可以由用户自己设置大小,所以做电子书的人不知道什么地方会翻页,如果有脚注,只能按照原书的位置去排版这些脚注。一般情况下,6寸的Kindle每页显示的文字比纸质书的一页要少得多,于是看到有脚注数字,得往后翻几页才能看到,看完后又需要返回来,比较麻烦。难道Kindle没有一个很酷的脚注功能吗?比如光标移动上去就显示脚注,像辞典一样?

    • 中文内容太少。Amazon.com是根本没有中文的,国内做中文电子书因为没有利益可图,全靠某些好人的热情。希望将来Kindle正式在国内运营了情况可以有些改变,如果有书以Kindle格式发行,我很愿意花钱。

    • 中文字体太差。Kindle默认的中文字体设计有很大缺陷,很多字能明显看出字体结构不匀称,看起来比较丑陋。有朋友说它文字的大小也不一致,一行文字放在那儿参差不齐的,我仔细看了一下,是有这么点情况……

    • 英文书籍有些还是很贵的。有些刚刚出版的书,它的售价很大一部分可能都是版权费用,Kindle版本便宜很少,比如纸质的140多美金,Kindle的就卖130多,没有任何优势。或者是出版社故意用这种价格策略保证纸质书籍的销量。不过在中国,这个好像对大部分人不是问题。

    总之用了这一段时间,我非常喜欢我的Kindle,并且忽悠旁边的朋友们也买。我也有iPad,不过现在看花钱买iPad完全是浪费──不仅浪费了钱,还浪费时间,可能是我自制力太差吧,我打开iPad就只知道它能打游戏,不知道能干什么正事……而Kindle让我读书的时间增多了。最近我就在Kindle上看了一本英文的富兰克林自传,由于有词典随时可以查询,读起来比读纸质书籍方便多了,也更容易读下去。

  • Amazon Kindle EDM的失误

    Amazon经常基于客户在它网站上浏览的行为通过EDM推荐客户可能想要的产品。大部分时候还比较准,虽然大量的广告有点过分。

    不过今天它犯了个错误。我预订了一个3G Kindle 3正在等待收货,可是收到了Amazon的一封邮件,标题为“Amazon.com: The All-New Kindle, Only $139”。邮件内容很醒目地写着:Kindle – #1 Bestselling, #1 Most-Wished-For, #1 Most-Gifted Product on Amazon. Only $139.

    我觉得Amazon的推荐系统一定也会在意客户买过的产品,这个问题可能是不同系统之间数据延迟导致的吧。

  • 信用卡积分都是浮云

    刚开始申请信用卡的时候并没有在意积分,不过前阵子申请招行一张金卡的时候,就考虑了一下,选择了携程卡。我以为只要消费就可以得携程积分的,可是这想法显然太天真——只有在携程购买产品才可以累积携程积分。于是我觉得这基本上没什么用,因为到目前为止我还从来没有在携程买过任何东西。

    后来我就想申请个国航知音卡吧,消费那么多,能换个机票也还不错。于是前几天,招行国航知音信用卡到手,我就打电话注销携程卡,不过客服说好几千的信用卡积分(非携程积分)还没用,劝我兑换了积分再注销。这时我算了一下发现我想靠国航信用卡消费换机票就是个白痴——换一张从北京到深圳的机票大概需要消费30万人民币以上。而且国航卡不累积招行积分。

    看来信用卡积分都是浮云,相对来说银行提供的积分换礼品已经算不错了。携程卡跟普通卡一样累积招行积分,偶尔还能多点携程积分,何乐而不为?过阵子把国航卡销户了。

  • GoDaddy 7折域名(包括续费)

    每次域名快到期前好几个月,GoDaddy就开始不停地发邮件通知,当然这通知只是附加在平时就连绵不断的广告邮件中。不过只要你沉住气慢慢等,在这几个月里肯定能等到比较低的折扣。折扣天天有,不过经常有附加条件。这次我就等到了一个条件很宽松的coupon

    Register or renew as many .COM, .NET or .ORG domain names as you want for 30% OFF

    This domain sale is over December 12, 2010 at midnight (Mountain Time)

    优惠码: gda1135b

  • iPad 与 Kindle

    我并不是要比较这两样东西……发生了两件事:

    iPad 在 TJ Maxx 和 Marshalls 以 $399 的价格出售,比一般的价格低了 $100! 这有没有预示着什么?不管它预示着什么,我反正比较郁闷,感觉损失了100美金。那些囤了货的水货商现在又是什么心情?

    Amazon 上的 Kindle 电子书现在可以当礼物送人了。以前把一个电子书加入 wish list 的时候,总是提示目前不支持购买电子书送人,正在努力使之成为可能……现在终于好了。不过似乎对我没什么太大意义,虽然我有一个长长的 list – Kindle Books Wanted by Qingbo

  • Twitter AJAX URL中的感叹号

    前几天看Twitter上有人在讨论Twitter AJAX更新时URL里的感叹号是怎么回事,例如

    http://twitter.com/#!/qingbo

    好像没有什么结果。正好前几天在PubCon上,Matt Cutts的super session里提到了这个,原来是Google为Ajax crawl设定的标准,没想到后来Facebook和Twitter都采用了这种规范。Googlebot看到上面的那个URL,它实际上就会去crawl另外一个URL:

    http://twitter.com/?escaped_fragment=/qingbo

    具体请看Google的”Making AJAX Applications Crawlable