<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Project Picky</title>
<subtitle>On Mac, PS3 and Web by Livid</subtitle>
<link rel="alternate" type="text/html" href="http://picky.olivida.com/" />
<link rel="self" type="application/atom+xml" href="/index.xml" />
<id>http://picky.olivida.com/</id>
<updated>2011-02-14T13:02:36Z</updated>
<rights>Copyright © 2009-2010, Livid</rights>

<entry>
	
	<title>1Q84</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/1q84" />
	
	<id>tag:picky.olivida.com,2011-02-14:/1q84</id>
	<published>2011-02-14T12:44:07Z</published>
	<updated>2015-07-05T16:30:49Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>用了两天半的时间，几乎是一口气地在家看完了 1Q84 的三本书。最后的这一天正好是 2011 年的 2 月 14 日，其间有那么几分钟，窗外飘起了鹅毛大雪，只是雪很快就停了。</p>

<p>我需要坦白承认的一点是，我看小说的目的并不单纯，我并不是将其作为一部单纯的娱乐作品去看，就像我在看 Inception 的时候（我看了至少 3 遍 Inception），我想我更多的是将其看作一个已经到达了某个阶段的项目去看待。</p>

<p>是的，一个项目。从种子一样的 idea，找到适合的土壤，空气，水和照料的人（可能不只一个），然后终于长成了什么。</p>

<p>能够在很长的历史长河中，被视作鸿篇巨著的作品不多，正因其珍贵，而成为众多古往今来作家所追求的，可以说是终极目标。</p>

<p>是否能够实现这样的终极目标，做的人在做的时候其实并不十足的把握。因为似乎人心这样的东西，到了一定的阶段，就没有什么事情对于他而言，是真的非做不可的了。理论上来说，这个世界上最宝贵的事物，是那些不会重复自身的。你可能在做一件事，可后果却不一样——要么将一件可以在一个月内完成的事情重复十二遍，要么，每天都是全新的。</p>

<p>作为小说来说，1Q84 有几乎可以说是显而易见的中心论点和已经在过去作品中被反复咀嚼的论据（当然，前提是对于之前作品的熟悉），也有了一些或许细微却依然可以被察觉到的对以往论点的怀疑——比如对于 ideology 的态度，如果说之前的作品中就像热刀切下牛油，可是到了 1Q84 中却变成了「我们以往已熟知的那个世界已经不复存在了」。而作者并不满足于此，于是他同时也说了「真相只有一个」。只是究竟是哪个，却不见黄油也不见热刀了。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKmuCAw" />
	]]></content>
</entry>

<entry>
	
	<title>2010</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/2010" />
	
	<id>tag:picky.olivida.com,2011-01-03:/2010</id>
	<published>2011-01-03T16:42:43Z</published>
	<updated>2015-07-05T16:34:42Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>这一年发生了很多事情，不过有的事情恐怕再过几年再说会更好。年岁增长的时刻，似乎迷信程度也在逐年增加。</p>

<p>这一年删掉的邮件和代码，及吃到肚子里的话和思索，比以往任何一年都要更多。我的中心论点没变。一切不过是在帮助提炼这个论点。</p>

<p>What it lies in our power to do, it lies in our power not to do.</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMGmCAw" />
	]]></content>
</entry>

<entry>
	
	<title>BC2Stats 1.8.0</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/bc2stats-1.8.0" />
	
	<id>tag:picky.olivida.com,2010-12-29:/bc2stats-1.8.0</id>
	<published>2010-12-29T13:11:41Z</published>
	<updated>2015-07-06T21:58:16Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>BC2Stats 1.8.0 is now approved and you can get it from App Store. In this update we integrated Game Center so that you can compare with Game Center friends. And your original BFBC2 achievements/trophies can be synced to Game Center. We wanted sync all achievements/trophies but there is a limitation in Game Center, so currently it doesn't include any achievements/trophies from DLCs.</p>

<p>In next version, we'll have all new Vietnam weapons.</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNmeCAw" />
	]]></content>
</entry>

<entry>
	
	<title>20101112</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/20101112" />
	
	<id>tag:picky.olivida.com,2010-11-12:/20101112</id>
	<published>2010-11-12T10:30:17Z</published>
	<updated>2015-07-06T11:48:43Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>最近完成了两件事情。</p>

<p>从 2007 年初见到 <a href="http://www.opendns.com/" target="_blank">OpenDNS</a> 那刻起，我就一直对这个东西非常着迷。互联网上有很多的协议，最普遍的协议是 HTTP，于是针对这个协议的各种开发框架和应用也就非常多。但是 HTTP 不是唯一的协议，还有其他很多好玩的协议，比如 IMAP，比如 DNS。所以我一直在想，能不能在 DNS 协议上做一些什么。</p>

<p>于是就有了 <a href="http://dns.v2ex.com/" target="_blank">V2EX DNS</a>，在 2010 年 11 月 10 日早上上线。这是一个面向公众的 DNS 解析服务，除了高速解决最普遍的解析问题之外，V2EX DNS 还提供了：</p>

<ul>
<li>对一些顶级域名常见的拼写错误进行纠错，比如输入 google.cmo 会自动跳到 google.com。</li>
<li>有的网站由于各种原因，没有配置 @ 解析，那么当用户使用裸域访问时，就会出错。典型的例子如 <a href="http://gov.cn/" target="_blank">gov.cn</a> 和 <a href="http://weibo.com/" target="_blank">weibo.com</a>。当使用 <a href="http://dns.v2ex.com/" target="_blank">V2EX DNS</a> 时，可以自动为用户尝试加上 www 进行访问（通常这也是用户的本意）。</li>
<li>当输入了一个确实不存在的域名时，会导向至 Google 搜索帮助用户找到正确的网站。</li>
<li>此外，我还有一些安全方面的功能在开发计划中。</li>
</ul>

<p>开始使用 <a href="http://dns.v2ex.com/" target="_blank">V2EX DNS</a> 非常简单，只需将你的电脑上的 DNS 主服务器地址设置为：</p>

<p><strong style="font-size: 200%;">178.79.131.110</strong></p>

<p>即可开始使用。</p>

<p>目前 <a href="http://dns.v2ex.com/" target="_blank">V2EX DNS</a> 在上线 48 小时后，已经服务了超过 140 万次查询。大家在 <a href="http://dns.v2ex.com/" target="_blank">V2EX DNS</a> 网站首页底部看到的那根灰色的线，即时目前的实时查询流量，每 10 分钟更新一次。</p>

<p>而第二件事，就是 2010 年 11 月 12 日，<a href="http://v2ex.appspot.com/" target="_blank">Project Babel 2</a> 的第一个正式版本 2.4.0-RC1 发布，大家可以从下面这个地址下载：</p>

<p align="center"><a href="http://v2ex.appspot.com/cn/index.html" target="_blank"><img src="http://v2ex.appspot.com/static/img/download.png" border="0" alt="Download Project Babel 2.4.0-RC1" class="plain" /></a></p>

<p>PB2 是一个开源社区软件，运行在 <a href="http://code.google.com/appengine" target="_blank">Google App Engine</a> 上。<a href="http://v2ex.appspot.com/" target="_blank">V2EX</a> 社区即是使用此程序搭建。</p>

<p>以上，是两件我坚信有价值的事情。坚持下去，一定会发生更有趣的事。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPGWCAw" />
	]]></content>
</entry>

<entry>
	
	<title>关于关注细节</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/details" />
	
	<id>tag:picky.olivida.com,2010-11-09:/details</id>
	<published>2010-11-09T15:36:49Z</published>
	<updated>2015-07-05T21:05:29Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>对于细节的关注是分阶段的。就像没有建筑设计师会在一开始去关注厕所里应该贴什么瓷砖，在初始阶段应该关注的是这个楼是用来做什么的，有几层，门和窗的位置，整体的风格。在错误的阶段关注不该关注的细节是一种弱智行为，除非，你想做的事情不是设计大楼，而是装修厕所。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGImPCAw" />
	]]></content>
</entry>

<entry>
	
	<title>做你所爱的</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/do-what-you-love-to-do" />
	
	<id>tag:picky.olivida.com,2010-11-08:/do-what-you-love-to-do</id>
	<published>2010-11-08T17:13:04Z</published>
	<updated>2015-07-04T14:49:14Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>做你所爱的，则每一天都可以让自己在充满幸福的疲惫感中睡去，然后在醒来时，充满能量巴不得立刻能够投入到昨天未完成的事项中。然后，自己会持续地优化这个过程，去除一切不负责任的幻想，去除一切繁琐而不必要的细节，去除所有让人头疼的各种方向的敷衍，一切在这个过程中提纯，而自己也将收获越来越多的快乐和满足。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKGHCAw" />
	]]></content>
</entry>

<entry>
	
	<title>20101101</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/20101101" />
	
	<id>tag:picky.olivida.com,2010-11-01:/20101101</id>
	<published>2010-11-01T15:23:49Z</published>
	<updated>2015-07-06T15:34:33Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>最近见了不少人，他们中的很多都觉得 Android 上的应用开发，及 social game 是 next big things。而这似乎也成了目前京城某个圈子里的默契。只是对此我实在是没有感觉。找乐子是所有时代所有人都会有的需求，而对于一些意志薄弱者而言，甚至似乎活着的意义就是找乐子，于是他们甚至把自己辛苦挣来的工资都贡献给网游，贡献给网游公司的 ARPU。</p>

<p>并不是什么火，才去做什么。那样的人生起码不是我想要的。我赞同亦舒的话，对于活着而言，最紧要的是姿态好看，倘若一件事情费力争来，那么即使赢了也是输了。而我很早就明白的一个道理是，你没有必要去说服任何人，实际上你也办不到。所以对于别人能够说服我这件事，我觉得也是一个伪命题，这个世界上所有的决定，到头来，都是自己一个人在清晨时分睡不着而决定的。</p>

<p>当然，我感激每一次的会面，那是缘分。而人生到了某个阶段之后，就变成是每天去接触甚至融化不同的气场了。然后，越来越明白，究竟自己要的是什么。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLn_Bww" />
	]]></content>
</entry>

<entry>
	
	<title>信息量</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/informative" />
	
	<id>tag:picky.olivida.com,2010-10-31:/informative</id>
	<published>2010-10-31T16:36:58Z</published>
	<updated>2015-07-06T15:19:22Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>这个世界上的人和事无非两类——有信息量的和没信息量。如果一个人每天说的话，都是大部分人已经知道了的，那么在大部分人看来，他就是一个没信息量的人。一个人如果长时间都在说没信息量的话，那么基本上就会进入到一个恶性循环，他只会越来越没有信息量，然后和周围一堆同样没有信息量的人在一起。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNH3Bww" />
	]]></content>
</entry>

<entry>
	
	<title>20101028</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/20101028" />
	
	<id>tag:picky.olivida.com,2010-10-28:/20101028</id>
	<published>2010-10-28T08:28:32Z</published>
	<updated>2015-07-06T04:52:58Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>世事如棋，一着争来千古业。柔情似水，几时流尽六朝春。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOnvBww" />
	]]></content>
</entry>

<entry>
	
	<title>Google App Engine datastore 的弱点</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/google-app-engine-datastore-weakness" />
	
	<id>tag:picky.olivida.com,2010-10-22:/google-app-engine-datastore-weakness</id>
	<published>2010-10-22T13:48:18Z</published>
	<updated>2015-07-06T00:31:50Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>datastore 的强项在于存储有一定规模的数据，比如一个用户，一个帖子，一个回复，总之，一个实体。但是如果用 datastore 存储对象之间的关系，那么就会很痛苦——第一是性能，即使很小心的使用 entity group 进行规划，性能还是很弱；第二就是，复杂的关系 datastore 目前还处理不了或是有很大局限，比如 SELECT IN 类型的查询和跨表查询。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGIHoBww" />
	]]></content>
</entry>

<entry>
	
	<title>BC2Stats 1.7.0 is Here</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/bc2stats-1.7.0-is-here" />
	
	<id>tag:picky.olivida.com,2010-10-20:/bc2stats-1.7.0-is-here</id>
	<published>2010-10-20T02:08:29Z</published>
	<updated>2015-07-06T13:11:33Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>Dear soldiers, BC2Stats is updated once again!</p>

<p>The latest update brings <strong>full Retina Display support</strong> as well as enhanced Next Events: now you can get a more accurate level up path from BC2Stats.</p>

<p>As BC2: Vietnam is coming soon, we'll update the app once the expansion is released. Thank you very much for your support.</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGJngBww" />
	]]></content>
</entry>

<entry>
	
	<title>关于如何选择工作</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/on-choosing-work" />
	
	<id>tag:picky.olivida.com,2010-10-03:/on-choosing-work</id>
	<published>2010-10-03T17:44:37Z</published>
	<updated>2015-07-06T15:19:23Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>如果你有信心和能力做出一家 NASDAQ 上市公司，那么就去做吧。这种时候，想必你已经有了足够多的人和钱方面的积累。你需要的是一个足够好足够新的赚钱主意。</p>

<p>但是大部分人在目前恐怕是没有信心和能力做出一家 NASDAQ 上市公司的。那么怎么办呢？列出你可能加入的所有公司，逐一分析他们的盈利模式，然后找出离上市最近的那家，如果：</p>

<ul>
<li>他们的商业模式确实可行。</li>
<li>你认同这个商业模式。</li>
<li>你有办法帮助他们的生意做得更大或者更稳。</li>
</ul>

<p>那么就加入这家公司，要成为最优秀的人就应该去最优秀的地方，然后至少做到他们上市两三年后，再思考下一步吧。那个时候，或许看待整个人生的方式和眼光都不一样了。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLHYBww" />
	]]></content>
</entry>

<entry>
	
	<title>UI/UE 设计师在中国的未来</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/the-future-of-ui-ue-experts-in-china" />
	
	<id>tag:picky.olivida.com,2010-09-24:/the-future-of-ui-ue-experts-in-china</id>
	<published>2010-09-24T21:16:26Z</published>
	<updated>2015-07-03T00:40:37Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>每次当我访问一些不得不访问的网站，如<a href="http://www.icbc.com.cn/" target="_blank">银行</a>，<a href="http://www.airchina.com.cn/" target="_blank">航空公司</a>和<a href="http://www.miibeian.gov.cn/" target="_blank">备案网站</a>时，我总会在想——他们什么时候能够把他们的网站做得好看一些，好用一些呢？甚至推出一款 iPhone/Android 应用？</p>

<p>在过去的几年时间里，作为一个网站开发者同时也是 iOS 开发者，我研究了无数国内国外的好看好用的应用，他们中的很多无疑在设计理念和实现上非常科幻。作为一个设计者，我可以在自己的作品中将设计做到一个让自己满意的程度，可是自己的<a href="http://www.olivida.com/" target="_blank">应用</a>和<a href="http://www.v2ex.com/" target="_blank">网站</a>毕竟能够影响到的，只是很少的一部分人。</p>

<p>我真的希望在某个时候，当我访问一个银行或航空公司的网站时，他们的设计也能够让我发出由衷的赞叹。而我相信，在未来，当很多基本问题都被解决得足够好的时候，设计会成为很多用户选择一个服务的重要考虑因素。我希望那一天能够早点到来，我更希望能够参与。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMnQBww" />
	]]></content>
</entry>

<entry>
	
	<title>什么是云计算？</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/what-is-cloud-computing" />
	
	<id>tag:picky.olivida.com,2010-09-18:/what-is-cloud-computing</id>
	<published>2010-09-18T16:13:07Z</published>
	<updated>2015-07-05T10:31:01Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>云计算不是一个小概念，你可以从很多个角度去理解它。如果你是从企业使用的角度，那么云计算作为一种全新的 IT 架构，它可以带来：</p>

<ul>
<li>无限的计算能力</li>
<li>无限的存储能力</li>
<li>无限的传输能力</li>
<li>接近 100% 的 uptime</li>
<li>按照实际使用量进行收费</li>
</ul>

<p>从以上的每一点，你可以用自己以前的 IT 架构与之对比，就可以感觉到不同。</p>

<p>而对于最终用户而言，云计算意味着：</p>

<ul>
<li>无限的存储能力：比如，如果照片都存在云里，那么就不用担心手机上存储空间不够。你可以通过手机访问你个人云存储中的几千甚至几万张照片。</li>
<li>可靠的，易于访问的数据存储：因为所有的数据都存储在一个可靠的云计算数据中心，因此，比如不小心丢失了手机，那么也不用感觉困扰，因为手机中的所有的联系人，依然可以从云中同步下来存储到新的手机上。并且，甚至可以通过云，将原来手机中的数据锁定并清除。</li>
<li>更低廉的使用费用：因为数据都存储在云中，因此用于访问的设备并不需要特别巨大的存储和计算能力，会更省钱。</li>
</ul>

<p>目前针对企业应用，已经有了一些很成熟的云方案，尤其是存储类方案，如 <a href="https://s3.amazonaws.com/" target="_blank">Amazon S3</a>，<a href="http://www.rackspacecloud.com/cloud_hosting_products/files" target="_blank">Rackspace CloudFiles</a> 和 <a href="http://code.google.com/apis/storage/" target="_blank">Google Storage for Developers</a>。不过存储类方案各家都做得大同小异，主要的比拼点是品牌，规模和价格。而更有趣的，是计算类的解决方案。</p>

<h2>IaaS and PaaS</h2>

<p>计算类的解决方案目前主要有种：</p>

<ul>

<li><strong>IaaS</strong> - Infrastructure as a Service：这种方案的核心是服务器虚拟化及高度自动化的管理，通过部署大规模的虚拟化宿主，配合集群式的高性能存储，可以非常方便地在瞬间根据用户需要提供无限量的 virtual server（虚拟服务器），用户拥有这些服务器的全部权限（比如 *nix 的 root 权限），可以在上面运行任何自己的应用。但是 IaaS 依然需要用户去自己解决架构上的一些问题，比如安全，比如数据库服务器的数据复制，及应用服务器的容错处理等等。因为可以瞬间提供新的 virtual server，所以理论上来说，如果应用架构本身有成熟的 scale out 设计，那么 IaaS 也就提供了无限的计算能力。<br /><br />这类方案的典型例子就是 <a href="http://www.rackspacecloud.com/1209.html" target="_blank">Rackspace Cloud</a>，<a href="http://www.joyent.com/services/cloudhosting/" target="_blank">Joyent SmartMachines</a> 和 <a href="http://aws.amazon.com/ec2/" target="_blank">Amazon EC2</a>。<br /><br /></li>

<li><strong>PaaS</strong> - Platform as a Service：这是最创新的方案，技术上比 IaaS 更加先进。你可以把 PaaS 方案理解成一台具有无限计算，存储和传输能力的 application server，你会需要使用新的编程技术来实现应用，但是这样将使得你的代码可以同时运行在平台的数千甚至数万台服务器上。你的应用从上线第一天起，就为每天上亿的访问量做好了准备。当流量不断增长时，不需要担心架构升级带来的可能的 downtime，至于更基础的如安全和存储冗余等问题，就更是无需担心。目前这类平台里最成熟的实现就是 <a href="http://code.google.com/appengine" target="_blank">Google App Engine</a>，而 <a href="http://www.joyent.com/technology/smartplatform/" target="_blank">Joyent SmartPlatform</a> 现在也进入了 beta 期，同时由 <a href="http://www.nasa.gov/" target="_blank">NASA</a> 和 <a href="http://www.rackspace.com/" target="_blank">Rackspace</a> 在合作进行中的 <a href="http://www.openstack.org/" target="_blank">OpenStack</a> 项目也非常有潜力。</li>

</ul>

<h2>关于未来</h2>

<p>我相信 PaaS 会是未来的主流，因为它可以为用户节约很多的时间和麻烦。当 PaaS 在未来更加成熟的时候，那时用户可以将更多时间用于思考如何快速实现业务逻辑，而不是纠结于技术细节。</p>

<p>而作为云平台上的开发者，我看到的机会就是，目前各种 PaaS 平台上都非常缺乏真正可用的应用。</p>

<p>大公司对于 PaaS 的投入，就好像在搭建一个大型的购物商城，但是最终决定这个商城业绩的，不是这个商城的基础设施完善程度（当然这很重要），而在于其中的商家。而商家中最有价值的，就是那类连锁的大品牌。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOHIBww" />
	]]></content>
</entry>

<entry>
	
	<title>20100909</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/20100909" />
	
	<id>tag:picky.olivida.com,2010-09-08:/20100909</id>
	<published>2010-09-08T19:40:56Z</published>
	<updated>2015-07-06T05:00:52Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>昨天 <a href="http://v2ex.appspot.com/" target="_blank">V2EX</a> 遇到了一点小意外，停机了一个半小时。这是停机前的流量：</p>

<p><img src="http://cl.ly/aae1cd39e066a15194e5/content" border="0" /></p>

<p>这些凶猛的流量来自 Twitter 上 @Fenng 的<a href="http://twitter.com/Fenng/status/23901197356" target="_blank">推荐</a>，及豆瓣上和菜头的一篇<a href="http://www.douban.com/note/89833967/" target="_blank">日记</a>。并且终于在大约晚上 10 点左右时，让 V2EX，这个跑在 Google App Engine 上的云社区，达到了 CPU Free Quota 的最大限制。</p>

<p>而在 Google App Engine 上通过 Google Checkout 付费购买 CPU Quota 却是一件有些奇怪的事情，因为支持的国家中并无中国。而我试了好多次都遇到了各种莫名其妙的错误。于是最后，原本我以为可以在 20 分钟内解决的危机，变成了大约一个半小时。最后，莫名其妙的 Enable Billing 成功。于是可以有足够多的 CPU Quota 使用了。</p>

<p>而这一切是怎么发生的呢？</p>

<p>在过去的几个月时间里，<a href="http://v2ex.appspot.com/member/Olivia" target="_blank">Olivia</a> 翻译完了 <a href="http://v2ex.appspot.com/t/815" target="_blank"><strong>Rework</strong></a> 一书，当然，不是得到出版社支持的正规翻译，只是纯粹出于爱好，并且想从中学到东西。这些翻译稿陆陆续续地发在了我从 5 月起恢复的 V2EX 上。而在 9 月 8 日这天，这本书的初译完成。</p>

<p>然后发生的事情你就知道了。</p>

<p>感谢 Fenng，和菜头两位前辈及众多网友的认可。我们以后会继续完成更多有意义的事情。</p>

<p>而这件事情让我得到的另外几点教训：</p>

<ul>
<li>云计算在理论上来说意味着无限的计算能力和带宽，但是实际上当你遇到这样的突发流量时，云产品可能会因为一些非技术原因而让你尴尬。你需要提前做好准备，包括但不限于充分熟悉你所在使用和依赖的云平台。而经历了这次的流量事件之后，我对于这些问题也确实加深了理解。</li>
<li><strong>这个世界上很多有质量的，惊人的事情，在前期或许是几个月甚至几年的沉默。而这其中的风险在于，你如何能够预知在经历了这些沉默之后，自己所做的是一个不会感到后悔的选择？</strong></li>
</ul>

<p>我订了本周五中午的机票，下午到北京。期望这次能够见到很多老朋友。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPnABww" />
	]]></content>
</entry>

<entry>
	
	<title>Project Babel Plan</title>
	
	
	<link rel="alternate" type="text/html" href="http://wiki.github.com/livid/v2ex/plan" />
	
	<id>tag:picky.olivida.com,2010-08-26:/project-babel-plan</id>
	<published>2010-08-26T20:07:47Z</published>
	<updated>2015-07-06T04:53:58Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>项目进展到一定阶段，计划的意义就显出来了。</p>

<p>这是我关于 <a href="http://github.com/livid/v2ex" target="_blank">Project Babel</a> 目前正在做和接下来打算做的具体内容，都写在这个 <a href="http://wiki.github.com/livid/v2ex/plan" target="_blank">wiki</a> 条目里。</p>

<p>Project Babel 是一个用 Python 语言写成的，运行在 Google App Engine 上的社区软件。我希望能够通过这个项目，产生一个对于创意工作者，中小公司及各种兴趣组而言足够好用的社区软件。同时通过将基础架构搭建于 Google App Engine 的云计算环境中，最大程度减少网站的维护工作量及安全担忧。</p>

<p><a href="http://v2ex.com/" target="_blank">V2EX</a> 社区即是使用最新开发版本的 Project Babel 搭建。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNmhBww" />
	]]></content>
</entry>

<entry>
	
	<title>Future of Retina Display</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/future-of-retina-display" />
	
	<id>tag:picky.olivida.com,2010-08-15:/future-of-retina-display</id>
	<published>2010-08-15T18:51:15Z</published>
	<updated>2015-07-06T07:03:39Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>如果 Retina Display 发展到下一代，那么分辨率将是 1280x1920，将可以完全覆盖 Full HD 显示区域（1920x1080），届时 Full HD 的视频播放和游戏想必会成为大卖点。</p>

<p>而那个时候，如果桌面 Mac 的分辨率还没有革命性的突破的话，或许开发者最好的选择就是外接第二个 Cinema Display 27 进行测试吧。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPGZBww" />
	]]></content>
</entry>

<entry>
	
	<title>关于 iOS 上的 Killer App</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/on-ios-killer-app" />
	
	<id>tag:picky.olivida.com,2010-08-08:/on-ios-killer-app</id>
	<published>2010-08-08T17:55:56Z</published>
	<updated>2015-07-01T04:29:59Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>究竟什么才是构成一个 killer app 的技术要素呢？</p>

<p>
<ul>
<li>程序能够充分使用各种用户觉得自然的手势，甚至发明出让用户觉得自然的手势。或者，当看到别人的 app 中有实现一个很好的手势时，能够迅速恰当地应用到自己的 app 中。</li>
<li>精致但是不繁琐的设计，把握其中的度是最大的难点。争取只用图标就能抓住潜在用户的心。</li>
<li>适当地集成一些 social media，但是绝对不能未经用户同意就以用户的名义发消息，更不能扰民。</li>
<li>检查 deployment target 是否设置得足够低同时又可以满足程序运行要求，提交之前找至少 5 个不同国家的人进行充分测试，否则上线之后一个未发现未解决的 crash 会让你至少难受 7 天。如果一连几次提交都是为了解决悲剧的 crash，那么就应该停下来反省一下开发流程了。</li>
<li>如果是新项目，那么从一开始就要为 Retina Display 的设计考虑，而不是先完成低清版本再补充高清。高清的支持可能需要低清 2 倍以上的设计时间。一个小提示：不要在放大状态调整 Photoshop 里矢量图形的边缘，会出现恶心的，同时难以修复的锯齿，应该在 100% 的视图里去做这件事。</li>
<li>每天至少在 Xcode 里运行一次 CMD+SHIFT+A，确保一定要消除蓝色图标后的那个数字。</li>
</ul>
</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNL6Bgw" />
	]]></content>
</entry>

<entry>
	
	<title>Project Babel Early Access</title>
	
	
	<link rel="alternate" type="text/html" href="http://v2ex.appspot.com/t/1206" />
	
	<id>tag:picky.olivida.com,2010-08-01:/project-babel-early-access</id>
	<published>2010-08-01T18:19:17Z</published>
	<updated>2015-07-04T12:08:30Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p><a href="http://v2ex.appspot.com/go/babel" target="_blank">Project Babel</a> 是一套运行在 <a href="http://code.google.com/appengine" target="_blank">Google App Engine</a> 云计算平台上的开源社区软件，而 <a href="http://v2ex.appspot.com/" target="_blank">V2EX</a> 网站即是该软件的第一个实际运行实例。</p>

<p>根据我之前的计划，2.4.0 将是 Project Babel 的第一个稳定版本，将提供完整的安装文档及 ZIP 格式的下载包。而目前 2.3.0 的源代码已经在 <a href="http://github.com/livid/v2ex" target="_blank">GitHub</a> 公布，如果你希望尝鲜的话，现在已经可以 git clone。如果你希望用 Project Babel 在云计算平台上搭建自己的社区网站，而不是花费太多时间去折腾代码，那么我推荐你等待 2.4.0 正式版的发布。</p>

<p>所有的开发讨论可以在 <a href="http://v2ex.appspot.com/" target="_blank">V2EX</a> 的 <a href="http://v2ex.appspot.com/go/babel" target="_blank">Babel</a> 节点找到，欢迎在那里反馈问题，讨论未来。</p>

<p>一套软件一旦开源，就不再属于特定的某个人了。特定的人或许可以在特定的历史时期推进软件的发展，而长远看来，却是靠原则，理念，环境和用户来驱动一切，我希望 Project Babel 也是如此。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGImSBww" />
	]]></content>
</entry>

<entry>
	
	<title>V2EX Update 20100801</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/v2ex-update-20100801" />
	
	<id>tag:picky.olivida.com,2010-08-01:/v2ex-update-20100801</id>
	<published>2010-08-01T09:17:30Z</published>
	<updated>2015-07-02T15:59:37Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>今天 <a href="http://v2ex.appspot.com/" target="_blank">V2EX</a> 上了两个小的新功能，一是可以<a href="http://v2ex.appspot.com/t/1187" target="_blank">通过电子邮件找回密码</a>，二是在<a href="http://v2ex.appspot.com/t/1188" target="_blank">搜索的时候可以列出相关节点</a>。</p>

<p>虽然都不是什么激动人心的酷功能，但是这类小功能，尤其是通过电子邮件找回密码，对于用户是非常有价值的。我用过很多个人编程爱好者做的网站，很多都没有这个功能。可以理解，因为完整的业务逻辑要实现起来很繁琐，同时要考虑到不能留有被滥用的漏洞。目前 V2EX 的限制是，用户不能在 24 小时内执行超过 2 次密码重设。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKGKBww" />
	]]></content>
</entry>

<entry>
	
	<title>About 1.6.0 and Crashes</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/about-1.6.0-and-crashes" />
	
	<id>tag:picky.olivida.com,2010-07-30:/about-1.6.0-and-crashes</id>
	<published>2010-07-30T12:34:40Z</published>
	<updated>2015-07-06T13:44:25Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>BC2Stats 1.6.0 arrived in App Store several days ago, and we're really exciting about it. We introduced a new feature called Next Events in this release, it can show you the shortest path to rank up. But what does that mean?</p>

<p>You probably already know that when you achieved certain amount of kills you can get a star for a weapon, and a bronze star gives you 500 points, silver 1000 points, gold 5000 points and platinum 10000 points. So Next Events can show you the least kills required for a weapon to get a star, and that's really fast way to rank up.</p>

<p>Several days after the release, we began to receive crash reports regarding this feature and we've figured out why: our upstream API <a href="http://www.bfbcs.com/" target="_blank">BFBCS.com</a> recently added a new weapon in their API outputs, and our app is not ready for that weapon because it lacks stars stats. That newly added weapon in API is called DEMOLITION, we guess it should mean the kills you achieved when you destroyed a building with C4, grenade or rockets. Since it lacks some necessary data for our app to calculate, then crashes happen. We'll support that weapon in future release, but for now, we're submitting an update to Apple for fixing the crashes caused by this unexpected change in API.</p>

<p>Thank you very much for your support and patience. The update should arrive in your iPhone in 5-7 days or even longer, because Apple has their mystery review process. If you can't wait, you can become our <a href="http://www.olivida.com/bc2stats/beta" target="_blank">beta tester</a> to get the update now.</p>

<p>For existing beta testers, you can download our latest fix from below links:</p>

<p>
<a href="http://commondatastorage.googleapis.com/bc2stats/OLIVIDA_DEV.mobileprovision">http://commondatastorage.googleapis.com/bc2stats/OLIVIDA_DEV.mobileprovision</a><br />
<a href="http://commondatastorage.googleapis.com/bc2stats/BC2Stats.ipa">http://commondatastorage.googleapis.com/bc2stats/BC2Stats.ipa</a>
</p>

<p>How to use: Please download the 2 files, drag them into iTunes and sync. If your iPhone/iPod says error regarding provisioning profile, you can safely delete all provisioning profiles on your iPhone/iPod (It can be found under Settings › General › Profiles), and install the app again from iTunes.</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLmCBww" />
	]]></content>
</entry>

<entry>
	
	<title>通过 WebDAV 用 MobileMe 来作为网站的头像服务器</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/use-mobileme-as-avatar-server-via-webdav" />
	
	<id>tag:picky.olivida.com,2010-07-27:/use-mobileme-as-avatar-server-via-webdav</id>
	<published>2010-07-27T20:55:19Z</published>
	<updated>2015-07-05T03:03:59Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p><a href="http://www.me.com/" target="_blank">MobileMe</a> 是一个 $99 一年的网络服务，提供 20G 存储空间及每月 200G 的带宽流量。按照苹果的设计本意，这些存储空间和带宽足够用于支持用户用 iLife 所创建的高清格式家庭视频的分享。但是实际上能够像这样子用 MobileMe 的用户实在是太少，大部分人只是把它当作一个邮箱和网盘而已。</p>

<p>不过，MobileMe 的 iDisk 组件，其实是可以作为一个类似 S3 的云存储来使用的，并且很容易通过简单的编程来进行文件增删——iDisk 支持完整的 WebDAV。</p>

<p>最近，我将 <a href="http://v2ex.appspot.com/" target="_blank">V2EX</a> 的头像系统，改用了 MobileMe 来提供服务。实践证明，在 App Engine 上，通过 WebDAV 来向 iDisk 上传数据是完全可行的，而且性能极好。但是有一些限制——App Engine 不支持 WebDAV 的 OPTIONS，PROPFIND 和 MKCOL 请求方法，唯一支持的有意义的是 PUT 和 DELETE，也就是说，你无法通过 App Engine 在 iDisk 上创建目录。因此目录必须提前用其他方式创建好。但是除此而外，一切都非常好用。</p>

<p>欢迎注册 <a href="http://v2ex.appspot.com/" target="_blank">V2EX</a> 并试试我们的新的头像上传功能。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNH6Bgw" />
	]]></content>
</entry>

<entry>
	
	<title>Cloud Future</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/cloud-future" />
	
	<id>tag:picky.olivida.com,2010-07-26:/cloud-future</id>
	<published>2010-07-26T20:21:36Z</published>
	<updated>2015-07-05T07:50:34Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>Google 推出了 <a href="http://code.google.com/appengine" target="_blank">App Engine</a>，Microsoft 有 <a href="http://www.microsoft.com/windowsazure" target="_blank">Windows Azure</a>，而最近 Rackspace 和 NASA 则宣布了 <a href="http://www.openstack.org/" target="_blank">OpenStack</a> 项目，这些平台和 <a href="http://www.rackspacecloud.com/1209.html" target="_blank">Rackspace Cloud</a> 这样的 VPS 服务不一样的地方在于，他们都引入了一整套的全新 API 及更高级的抽象，简单来说，在这些平台上部署的应用，都是全新开发的。</p>

<p>而我相信在未来，这些平台将会取代目前的传统 hosting。因为这些平台可以带来：</p>

<p><ul>
<li>更高的可靠性，单一应用由数千台服务器支持。</li>
<li>更简单的部署，用户不需要关心哪些文件是更改了的，也不需要去服务器上胆战心惊地执行 SQL ALTER。在 <a href="http://code.google.com/appengine/downloads.html" target="_blank">Google App Engine Launcher</a> 里，部署已经简化到单击那个蓝色的 Deploy 按钮，然后等待至多几分钟，所有的新业务逻辑就上线了，包括新的数据存储结构。</li>
<li>更合理但是有可能利润率更高的收费，对于简单应用，用户可能会比以前付更少的钱甚至不付钱，而对于复杂应用，一个应用消耗过多的资源却不会影响到云里的其他应用的性能。并且这些额外的复杂度也成为了云服务提供商的利润来源。</li>
</ul></p>

<p>小企业和个人会首先成为这样的新平台的用户和受益者，因为对于他们来说，这个新平台更可靠，更简单，甚至更省钱。而为了让应用能够在这个新平台上运行，以往在 LAMP 世界里已经实现过的应用将会需要全部重新实现一次，于是就会有全新的云博客，云记事本，云论坛，云相册……我相信这个其中会蕴含无数的好机会，而这也是 <a href="http://v2ex.appspot.com/" target="_blank">Project Babel 2</a> 和 <a href="http://picky.olivida.com/" target="_blank">Project Picky</a> 的意义。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOnyBgw" />
	]]></content>
</entry>

<entry>
	
	<title>Twitter API Cheat Sheet</title>
	
	
	<link rel="alternate" type="text/html" href="http://v2ex.appspot.com/twitter/api" />
	
	<id>tag:picky.olivida.com,2010-07-25:/twitter-api-cheat-sheet</id>
	<published>2010-07-25T18:45:53Z</published>
	<updated>2015-07-04T21:06:19Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>这是我一直想要的东西，能够在一个页面上速查所有 Twitter API 的 URL，请求方式，参数及是否需要验证。</p>

<p>目前这个页面还没有能够 100% 覆盖所有的 <a href="http://apiwiki.twitter.com/" target="_blank">Twitter API</a>，不过接下来我会每天更新的。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGIHrBgw" />
	]]></content>
</entry>

<entry>
	
	<title>V2EX Update 20100723</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/v2ex-update-20100723" />
	
	<id>tag:picky.olivida.com,2010-07-22:/v2ex-update-20100723</id>
	<published>2010-07-22T23:02:35Z</published>
	<updated>2015-07-06T16:50:47Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>在 Google App Engine 上实现了 Twitter 的 OAuth 方式的帐号关联，现在你可以选择将你在 <a href="http://v2ex.appspot.com/" target="_blank">V2EX</a> 上的发贴和回复自动同步到 Twitter。同时也可以使用 V2EX 内置的 <a href="http://v2ex.appspot.com/twitter" target="_blank">Twitter 客户端</a>来发推和看推。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGJnjBgw" />
	]]></content>
</entry>

<entry>
	
	<title>OpenStack</title>
	
	
	<link rel="alternate" type="text/html" href="http://openstack.org/" />
	
	<id>tag:picky.olivida.com,2010-07-19:/openstack</id>
	<published>2010-07-19T16:18:37Z</published>
	<updated>2015-07-05T15:37:58Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>由 <a href="http://www.rackspace.com/" target="_blank">Rackspace</a> 和 NASA 发起并支持的开源云计算项目。</p>

<p>目前一部分代码已经可以从 Launchpad 上下载到，不过根据<a href="http://nova.openstack.org/getting.started.html#installation" target="_blank">文档</a>，目前如果想要在自己的机器上安装这个东西，步骤还是不简单的。</p>

<p>从目前所透露出的信息来看，这个东西应该是在 Ubuntu 或 Debian 上进行主要开发和测试，目前主要支持的编程语言是 Python，用到了 <a href="http://www.tornadoweb.org/" target="_blank">Tornado</a> 框架，一个由 FriendFeed 和 Facebook 贡献的开源 web 框架，某些方面非常类似 Google App Engine。而在数据存储方面，OpenStack 应该会提供一个类似 datastore 的对象数据库。</p>

<p>根据计划，<a href="http://www.openstack.org/" target="_blank">OpenStack</a> 会在今年 10 月中旬提供第一个发布版本。国内是否会有公司第一时间跟进并在国内提供这样的基于开源软件的云计算服务呢？</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLHbBgw" />
	]]></content>
</entry>

<entry>
	
	<title>V2EX Update 20100716</title>
	
	
	<link rel="alternate" type="text/html" href="http://v2ex.appspot.com/" />
	
	<id>tag:picky.olivida.com,2010-07-16:/v2ex-update-20100716</id>
	<published>2010-07-16T11:31:42Z</published>
	<updated>2015-07-06T12:17:25Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p><a href="http://v2ex.appspot.com/" target="_blank">V2EX</a> 现在有了为桌面浏览器而设计的全新样式，欢迎访问。</p>

<p>上线时的初代样式本是为移动设备所设计，因此现在若是使用 iPhone 或 Android 访问时，将依然可以看到 mobile 样式。</p>

<p>另外，V2EX 现在有了一个小小的新功能——Notes，这是一个简单可靠的云端记事本。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMnTBgw" />
	]]></content>
</entry>

<entry>
	
	<title>坚持</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/persistence" />
	
	<id>tag:picky.olivida.com,2010-07-14:/persistence</id>
	<published>2010-07-14T21:33:09Z</published>
	<updated>2015-07-05T22:58:36Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>很多小宅男们的某个小小的梦想开始于 2005 年，而 5 年过去之后，却很少有人能够坚持在做 5 年前感到无比兴奋的事情。而那些确实还能够坚持下来的，现在都还不错。</p>

<p>当选择要做一件什么事情的时候，或许应该想想接下来可能会遇到的困难。只是你年轻的时候缺乏经验，于是你想不到接下来如此之多的天灾人祸。不过那么多年过去了，你也算是多少有些经验——知道什么路可以走，什么路走不通了。于是可以再想想，当下一个五年过去之后，有什么东西是一直属于自己，并且在不断发展壮大的。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOHLBgw" />
	]]></content>
</entry>

<entry>
	
	<title>BC2Stats 1.5.5 is Here</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/bc2stats-1.5.5-is-here" />
	
	<id>tag:picky.olivida.com,2010-07-12:/bc2stats-1.5.5-is-here</id>
	<published>2010-07-12T20:32:06Z</published>
	<updated>2015-07-06T13:02:31Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>1.5.5 is the first version optimized for iOS 4, we updated weapon images to HD resolution for iPhone 4 Retina Display, and fast app switching is also supported, when you return to the app, it will restore the state exactly to where you last visited.</p>

<p>This is just a beginning, we'll bring more awesomeness in 1.6.0. Stay tuned. You can subscribe to our blog updates via <a href="http://v2ex-picky.appspot.com/set.xml?set=bc2stats-blog" target="_blank">this links</a>.</p>

<p>If you're willing to help us testing 1.6.0 and future beta releases, welcome to <a href="http://www.olivida.com/bc2stats/beta" target="_blank">sign up</a> our beta program.</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPnDBgw" />
	]]></content>
</entry>

<entry>
	
	<title>更改 Xcode 默认模板中的 __MyCompanyName__</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/change-xcode-default-mycompanyname" />
	
	<id>tag:picky.olivida.com,2010-07-08:/change-xcode-default-mycompanyname</id>
	<published>2010-07-08T22:34:29Z</published>
	<updated>2015-07-07T08:41:14Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>比如，若是我想把 __MyCompanyName__ 更改为 OLIVIDA，那么打开 Terminal，运行下面这条指令：</p>

<p><pre><code>defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME"="OLIVIDA";}'</code></pre></p>

<p>然后下次启动 Xcode 时，创建的新代码中就是 OLIVIDA 而不是 __MyCompanyName__ 了。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGJG8Bgw" />
	]]></content>
</entry>

<entry>
	
	<title>如果 iPad 装备上 Retina Display</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/what-if-ipad-got-retina-display" />
	
	<id>tag:picky.olivida.com,2010-07-06:/what-if-ipad-got-retina-display</id>
	<published>2010-07-06T21:28:25Z</published>
	<updated>2015-07-05T21:34:47Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>如果 iPad 的显示屏也换上 Retina Display，那么分辨率将会达到 2048x1536，而目前 iMac 27-inch 的分辨率是 2560x1440，那么 Retina 版的 iPad 将覆盖目前 iMac 27-inch 的 85% 像素，并且，在纵向分辨率上超过 iMac。</p>

<p>于是如果到那个时候，iMac 没有升级到更高的分辨率的话（比如 5120x2880），将无法完整显示 iPad 的模拟器。</p>

<p>对于很多 Photoshop 使用者来说，无法看清楚屏幕上的像素将是一种挑战。比如我就经常依靠屏幕上的某个像素来确定某条线是否对齐。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKm0Bgw" />
	]]></content>
</entry>

<entry>
	
	<title>Google Storage 的 HTTP Headers</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/google-storage-http-headers" />
	
	<id>tag:picky.olivida.com,2010-07-05:/google-storage-http-headers</id>
	<published>2010-07-05T17:48:42Z</published>
	<updated>2015-07-02T16:14:38Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<pre><code>fatty:~ livid$ curl -I http://commondatastorage.googleapis.com/bc2stats/BC2Stats.ipa
HTTP/1.1 200 OK
Expires: Mon, 05 Jul 2010 18:47:01 GMT
Date: Mon, 05 Jul 2010 17:47:01 GMT
Cache-Control: public, max-age=3600
ETag: "6764eb6ef0b0492c22b26835e0e91029"
Content-Type: application/octet-stream
Last-Modified: Mon, 05 Jul 2010 17:38:05 GMT
Content-Length: 9880939
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE</code></pre>

<p>经过我验证，ETag 部分确实用的是文件的 MD5 checksum。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMGsBgw" />
	]]></content>
</entry>

<entry>
	
	<title>Air Video</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.inmethod.com/air-video/" />
	
	<id>tag:picky.olivida.com,2010-07-03:/air-video</id>
	<published>2010-07-03T10:06:10Z</published>
	<updated>2015-07-06T11:47:59Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>如果你的硬盘上有大量的电影收藏，并且你希望用无线网络在 iPad 或 iPhone 上观看这些电影，那么 Air Video 就是一款绝对值得推荐的软件。几乎支持所有格式，包括 RMVB，及主流的字幕格式。整个体验非常可靠。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNmkBgw" />
	]]></content>
</entry>

<entry>
	
	<title>完全用 CSS 写成的 iOS 系统图标</title>
	
	
	<link rel="alternate" type="text/html" href="http://graphicpeel.com/cssiosicons" />
	
	<id>tag:picky.olivida.com,2010-06-27:/ios-icons-in-pure-css</id>
	<published>2010-06-27T20:20:45Z</published>
	<updated>2015-07-07T03:31:59Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p><a href="http://graphicpeel.com/cssiosicons" target="_blank"><img src="http://www.dribbble.com/system/screenshots/31004/shot_1277618721.png?1277618721" border="0" /></a></p>

<p>需要使用最新版本的 Chrome 或 Safari 观看。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPGcBgw" />
	]]></content>
</entry>

<entry>
	
	<title>关于 Picky 后台的 is Page 和 is for Sidebar</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/about-picky-page-sidebar" />
	
	<id>tag:picky.olivida.com,2010-06-27:/about-picky-page-sidebar</id>
	<published>2010-06-27T12:04:41Z</published>
	<updated>2015-07-06T13:54:37Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>默认情况下，每篇文章的 Is Page 和 Is for Sidebar 都是 No，这样的文章就是一篇通常的 blog post。这样的普通文章会出现首页时间轴及 RSS 中。</p>

<p>如果 Is Page 设置为 Yes，则文章不会出现在首页，也不会出现在 index.xml 中。但是可以通过指定 URL 访问到。</p>

<p>如果 Is for Sidebar 设置为 Yes，则该文章的标题会出现在首页左边的导航栏中。</p>

<p>这些设置的引入，及 Parent URL 和 Set 功能的加入，可以让你用 Picky 搭建出非常灵活的内容组织结构来。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGImVBgw" />
	]]></content>
</entry>

<entry>
	
	<title>Medal of Honor Closed Beta</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/medal-of-honor-closed-beta" />
	
	<id>tag:picky.olivida.com,2010-06-26:/medal-of-honor-closed-beta</id>
	<published>2010-06-26T10:03:38Z</published>
	<updated>2015-07-06T12:08:14Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>Anyone got the beta key for <a href="http://www.medalofhonor.com/" target="_blank">Medal of Honor</a> closed beta? We've just redeemed ours. Let's fight together on PSN, just add <strong>OLIVIDA</strong> as friend.</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKGNBgw" />
	]]></content>
</entry>

<entry>
	
	<title>两张可爱的 Sprite</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/two-cute-sprite-images" />
	
	<id>tag:picky.olivida.com,2010-06-25:/two-cute-sprite-images</id>
	<published>2010-06-25T06:58:22Z</published>
	<updated>2015-07-06T01:49:16Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>Google:</p>

<p><img src="http://www.google.com/images/srpr/nav_logo13.png" /></p>

<p>Twitter:</p>

<p><img src="http://s.twimg.com/a/1277334364/images/sprite-icons.png" /></p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLmFBgw" />
	]]></content>
</entry>

<entry>
	
	<title>CALayer 与 iPad Apps 的性能</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/calayer-and-ipad-apps-performance" />
	
	<id>tag:picky.olivida.com,2010-06-22:/calayer-and-ipad-apps-performance</id>
	<published>2010-06-22T20:15:05Z</published>
	<updated>2015-07-07T06:54:09Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>每一个 UIView 对象实例都包含一个 CALayer 实例，可以通过 [myView layer] 的方式访问到。而 CALayer 又提供了非常多的邪恶功能，比如修改一个 view 的圆角程度，甚至给它加阴影。这些方法都非常好用。但是代价就是程序的 framerate 就会大受影响，尤其是执行诸如 presentModalViewController 这样全屏幕豪华操作时。</p>

<p>结论是：要用 CALayer 可以，但是在写到屏幕上之前一定要先将这个 layer 的内容变成一坨简单的 bitmap，否则就等着看幻灯片吧。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNH9BQw" />
	]]></content>
</entry>

<entry>
	
	<title>Introducing Define.io</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.define.io/" />
	
	<id>tag:picky.olivida.com,2010-06-19:/introducing-define.io</id>
	<published>2010-06-19T23:34:52Z</published>
	<updated>2015-07-06T10:44:57Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p><a href="http://www.define.io/" target="_blank"><img src="http://www.define.io/static/img/logo.png" align="right" style="margin-left: 20px;" border="0" alt="Define.io" /></a>我一直对词典这样的东西中意，我现在一直在使用的这个 alias——Livid 就是 2000 年某个夜晚的时候翻词典偶然所得。</p>

<p>我在 2004 年末的时候用 Python + <a href="http://www.dict.org/" target="_blank">dictd</a> 完成了第一个版本的 Lividict，可惜那个网站无法逃脱一个致命的问题——就是它只运行在一台服务器上。所以当后来那台同时也运行着 V2EX 的服务器被拔线之后，这个需要独立 dictd 的 Python CGI 程序也就下线了。</p>

<p>当 2008 年 Google App Engine 问世时，我在第一时间注册了 <a href="http://lividict.appspot.com/" target="_blank">lividict.appspot.com</a>，不过那个时候对于如何在 App Engine 上做词典服务，确实没有太多的想法。不过似乎是一种巧合，App Engine 在一开始时，所唯一支持的语言，也是我在 2004 年时用来做 Lividict 的 Python。</p>

<p>两年之后，我终于把自己的这个项目开始着手实现，现在 Lividict 运行在 Google App Engine 上的第一个简单版本已经上线，并且可以通过 <a href="http://www.define.io/" target="_blank">define.io</a> 这个域名访问到。</p>

<p>为什么选择 define.io 这个域名，或许首先是因为运气，让我还能够注册到。其次就是 define 是 Google 一直以来的一个好用功能，比如你想查 livid 这个词是什么意思，那么只要在 Google 里输入 define livid 即可。所以用 define.io 来作为词典服务，实在是很妙的一件事情。</p>

<p>目前 define.io 能够提供的三类查询：</p>

<ul>
<li>简明英汉释义（词条和音标还相当不完整，我正在补充中）</li>
<li>同义词词典（也就是 Thesaurus 查询。词条相当完整。同义词查询在构思产品名称或是代号时尤其有用）</li>
<li>任何英文句子的中文翻译</li>
</ul>

<p>这只是一个小小开始。define.io 运行在 Google App Engine 上的一个意义就是，我不用担心这个网站会因为什么物理原因消失。因此我可以将我的全部精力投入到功能的完善和增强中。这很幸福。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOr1BQw" />
	]]></content>
</entry>

<entry>
	
	<title>All New YOU8G</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.you8g.com/" />
	
	<id>tag:picky.olivida.com,2010-06-14:/all-new-you8g</id>
	<published>2010-06-14T22:10:26Z</published>
	<updated>2015-07-04T09:45:45Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>如果你正在基于 Google App Engine 制作一些好玩的东西，并且希望中国大陆的用户也能快速访问到你的应用的话，你会需要用到这个服务的。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOn1BQw" />
	]]></content>
</entry>

<entry>
	
	<title>Tornado Web Server</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.tornadoweb.org/" />
	
	<id>tag:picky.olivida.com,2010-06-13:/tornado-web-server</id>
	<published>2010-06-13T21:21:53Z</published>
	<updated>2015-07-06T00:44:55Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>来自 FriendFeed（已被 Facebook 收购）的开源 Python Web Server + Framework，用起来很像 GAE。源代码在：</p>

<p><a href="http://github.com/facebook/tornado" target="_blank">http://github.com/facebook/tornado</a></p>

<p>如果你无法访问 tornadoweb.org，那么可以从我备份的这个地方下载最新的 0.2 版本：</p>

<p><a href="http://web.me.com/v2ex.livid/tornado/tornado-0.2.tar.gz" target="_blank">http://web.me.com/v2ex.livid/tornado/tornado-0.2.tar.gz</a></p>

<p>安装方法：</p>

<blockquote><pre>tar xvzf tornado-0.2.tar.gz
cd tornado-0.2
python setup.py build
sudo python setup.py install</pre></blockquote>

<p>Hello World 例子：</p>

<blockquote><pre>import tornado.httpserver
import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    http_server = tornado.httpserver.HTTPServer(application)
    http_server.listen(8888)
    tornado.ioloop.IOLoop.instance().start()</pre>
</blockquote>

<p>这是 FriendFeed 已经在生产环境中使用的技术，本身的实现和用法也很棒。总之是一个非常值得学习的框架。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGJnmBQw" />
	]]></content>
</entry>

<entry>
	
	<title>Project Picky 加入简单的 Feed Hits 追踪</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/project-picky-feed-hits" />
	
	<id>tag:picky.olivida.com,2010-06-13:/project-picky-feed-hits</id>
	<published>2010-06-13T20:53:15Z</published>
	<updated>2015-07-06T13:52:45Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>在 hg 中的最新版本现在已经可以追踪一些基本的来自 RSS Reader 的点击，会以 +x 的方式显示在 Writer 中。另外在 Neue 主题的最终页面上也可以看到。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLHeBQw" />
	]]></content>
</entry>

<entry>
	
	<title>更加安全稳定地部署 Google App Engine 应用</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/deploy-appengine-app-in-a-more-secure-and-stable-way" />
	
	<id>tag:picky.olivida.com,2010-06-13:/deploy-appengine-app-in-a-more-secure-and-stable-way</id>
	<published>2010-06-13T19:36:37Z</published>
	<updated>2015-07-05T02:12:40Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>如果你在国内的普通网络上部署 Google App Engine 时遇到了各种奇怪问题，那么你可以试试为 appcfg.py 套上一层 SOCKS 代理。具体做法如下（以 Mac OS X 上的 Google App Engine Launcher 的安装位置为例）：</p>

<ol>
<li>下载 <a href="http://socksipy.sourceforge.net/" target="_blank">SocksiPy</a>，提取出其中的 socks.py，放入 /usr/local/google_appengine。</li>
<li>在 appcfg.py 的 import sys 一行的下面加上这 4 行：<br />
<pre>import socks
import socket
socket.socket = socks.socksocket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 7777)</pre></li>
</ol>

<p>其中最后一行中的 127.0.0.1:7777 即为 SOCKS 代理的地址和端口号，你可以换成自己的。至于如何获得这样的 SOCKS 代理，最简单的方式就是通过 SSH Tunnel 或 Tor。详细的我就不在这里展开了，你可以在网上搜索到很多这类文章。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMnWBQw" />
	]]></content>
</entry>

<entry>
	
	<title>创业之前的考虑</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/what-to-think-before-start-something" />
	
	<id>tag:picky.olivida.com,2010-06-12:/what-to-think-before-start-something</id>
	<published>2010-06-12T22:39:46Z</published>
	<updated>2015-07-04T12:20:40Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>当为了自己的新事业构思想法时，应该考虑一下这个想法如果实现，能够确实帮助到多少人？</p>

<p>我认为，人数应当越大越好。并且应该考虑的是，用户使用这个产品的频度，最好是那种每天都用的。</p>

<p>然后，应该通过技术和市场的手段，能够让最多的用户很容易就接触到产品，用上产品。这样才会有成功的可能。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOHOBQw" />
	]]></content>
</entry>

<entry>
	
	<title>由简入繁，由繁入简</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/from-simple-to-complicated-and-vice-versa" />
	
	<id>tag:picky.olivida.com,2010-06-11:/from-simple-to-complicated-and-vice-versa</id>
	<published>2010-06-11T00:59:55Z</published>
	<updated>2015-07-06T04:57:51Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>回顾很多软件产品的发展路线，发现其中一个有趣的规律。</p>

<p>每隔一段时间，在一个已经成熟的领域，就会出现一款简洁好用的软件来打破平衡。就像当年的 Firefox。可是那么多年过去之后，当 Firefox 发展到 4.0，于是也就不简洁了。而这个过程中，Chrome 出来了，一开始的时候也非常简洁，但是这个玩意从简洁到复杂的速度比 Firefox 还快。</p>

<p>似乎大公司的软件开发者们，就是很难抵住那种那种做更多功能的诱惑。而从投入产出比来说，其实在后期花大量时间做出来的新功能，其吸引新用户的速度未必能够和初期简洁时相比。于是有的人就选择离开，然后去做新东西了。</p>

<p>新东西肯定都是很简洁的。而能够一直让产品保持简洁，是一种立场，一种眼光和一种功力。比如 <a href="http://www.37signals.com/" target="_blank">37signals</a> 在此方面就功力十分深厚。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPnGBQw" />
	]]></content>
</entry>

<entry>
	
	<title>BFBC2 Onslaught</title>
	
	
	<link rel="alternate" type="text/html" href="http://blogs.battlefield.ea.com/battlefield_bad_company/archive/2010/06/10/prepare-for-the-onslaught.aspx" />
	
	<id>tag:picky.olivida.com,2010-06-11:/bfbc2-onslaught</id>
	<published>2010-06-11T00:43:08Z</published>
	<updated>2015-07-05T21:10:05Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>今天，EA DICE 宣布了 BFBC2 的 Onslaught DLC 的上线时间及价格：6 月 22 日，10 美元。感觉有点贵，因为类似的 Special Ops 玩法在 Modern Warfare 2 中是游戏自带的，不过对于这个游戏的死忠来说，也未尝不可。可是同时宣布的 Kit Shortcuts 却让所有人大跌眼镜。所谓的 Kit Shortcuts 就是，你可以付 20 美元，然后就提前解开多人游戏中的高级装备。</p>

<p>商业公司的商业项目当然可以追求利润，但是如果做出一个不符合大多数玩家期望值和常识的决定，就太可惜了——EA DICE 好不容易建立起了一个可以和 MW 系列分庭抗礼的多人 FPS 品牌，可是现在却因为短视在消耗这个品牌的好感度。</p>

<p>这一切让人感觉就像是，现在他们最关心的就是钱，而非持续提高游戏的质量。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGJG_BQw" />
	]]></content>
</entry>

<entry>
	
	<title>BC2Stats 1.5.0 is Here</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/bc2stats-1.5.0-is-here" />
	
	<id>tag:picky.olivida.com,2010-06-09:/bc2stats-1.5.0-is-here</id>
	<published>2010-06-09T16:43:22Z</published>
	<updated>2015-07-06T13:07:01Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>This is the biggest update ever. So many new features in BC2Stats 1.5.0:</p>

<ul>
<li><strong>Leaderboard</strong>: check the top 50 people playing on PS3, Xbox 360 and PC.</li>
<li><strong>Watch List</strong>: add your friends or anyone to a watch list.</li>
<li><strong>Versus</strong>: you can compare with anyone now.</li>
<li>No more crashes in Kits and Vehicles.</li>
<li><strong>Weapon Leveling Details</strong>: now you can see how many kills needed for next star.</li>
<li><strong>Force Refresh</strong>: if you think your stats is not most recent, you can always force refresh as many times as you want for getting latest stats.</li>
<li>And many more refinements.</li>
</ul>

<p>For celebrating the launch of 1.5.0, BC2Stats will be on sale for a limited time for only $0.99, from JUN-9 to JUN-11. Grab your copy now: <a href="http://itunes.com/app/bc2stats" target="_blank">http://itunes.com/app/bc2stats</a></p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMGvBQw" />
	]]></content>
</entry>

<entry>
	
	<title>How to Become a Veteran in BFBC2</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/how-to-become-a-veteran-in-bfbc2" />
	
	<id>tag:picky.olivida.com,2010-06-06:/how-to-become-a-veteran-in-bfbc2</id>
	<published>2010-06-06T18:37:34Z</published>
	<updated>2015-07-05T05:28:06Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>After PS3 has got 1.04 update, you'll find that veteran status is now displayed in player list, the number in a white rectangle indicates how many Battlefield series game this player played.</p>

<p>The best part of the veteran system is that you can get an extra weapon: M1 Garand. The semi-automatic rifle used by American soldiers in World War II.</p>

<p><img src="http://web.me.com/v2ex.livid/bc2stats/static/Collectables/Weapons/M1Garand.png" width="550" /></p>

<p>Although you can't mount Red Dot Sight on it, M1 Garand is powerful and accurate in short/medium range.</p>

<p>And if you don't know how to get Veteran 1, here is a quick and easy method you can follow:</p>

<ul>
<li>Log in to <a href="https://www.battlefieldheroes.com/playnow" target="_blank">https://www.battlefieldheroes.com/playnow</a> with the same EA account you're using for BFBC2. Battlefield: Heroes is a free multiplayer FPS developed/operating by DICE.</li>
<li>Create a character in Battlefield: Heroes and play several rounds.</li>
<li>Log in to <a href="http://www.battlefieldbadcompany2.com/" target="_blank">http://www.battlefieldbadcompany2.com/</a> and click My Soldier &gt; Veteran, and choose Battlefield: Heroes to add. Then you'll get Veteran 1 and being able to use M1 Garand in BFBC2.</li>
</ul>

<p>So, veteran system is a really cool idea. Do you know that the 1st in PS3 Leaderboard, id <strong>lfenec</strong> is Veteran 10! That's pretty impressive, isn't it?</p>

<p>p.s. You can also get to veteran by playing <a href="http://www.battlefield1943.com/" target="_blank">Battlefield: 1943</a> demo, that is a free demo you can download from PSN/XBL.</p>

<p>[Thanks, <a href="http://www.paulyoungdesign.com/" target="_blank">Paul</a>]</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNmnBQw" />
	]]></content>
</entry>

<entry>
	
	<title>Project Picky 的文章集（Set）功能</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/picky-article-set" />
	
	<id>tag:picky.olivida.com,2010-06-04:/picky-article-set</id>
	<published>2010-06-04T20:13:01Z</published>
	<updated>2015-07-06T22:12:45Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>如果你在用的是 Project Picky 位于 hg 中的版本，那么你会发现从二月开始，每篇文章多了一个字段——article_set。</p>

<p>这是一个叫做“文章集”的新功能，通过给文章赋予同样的 article_set 值，你可以将一类文章归类起来。那么这样做的好处是？</p>

<p>1. 每篇文章下方显示的 related article 相关文章。比如这篇 <a href="http://picky.olivida.com/concentration" target="_blank">Concentration</a> 的下方。</p>

<p>2. hg 中的一个最新功能，可以将某个 set 的所有文章以 Atom Feed 格式输出。比如你希望将你的某个 Project Picky 安装实例中的一部分文章用到其他地方，那么这个接口就会很方便。比如这是 set=essay 的所有文章：</p>

<p><a href="http://picky.olivida.com/set.xml?set=essay" target="_blank">http://picky.olivida.com/set.xml?set=essay</a></p>

<p>值得注意的是，在部署了这些新功能之后，你可能需要花一些时间等待 GAE 为这些新功能用到的新查询类型构建索引。构建时间根据你的文章数量而定，所需时间可能不短。</p>

<p>另外就是，hg 中的 Project Picky 为大部分页面实现了 head 方法，这样的话，如果遇到像 Digg 这样通过 head 检查 URL 可用性的网站，就不会再出现错误提示了。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGImYBQw" />
	]]></content>
</entry>

<entry>
	
	<title>HTML5 Demos by Apple</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.apple.com/html5/" />
	
	<id>tag:picky.olivida.com,2010-06-04:/html5-demos-by-apple</id>
	<published>2010-06-04T07:06:06Z</published>
	<updated>2015-07-03T07:29:10Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>来自苹果官方的 HTML5 演示。今天，这家公司已经不仅仅只是一家电脑生产商了。</p>

<p>不过，或许是出于某种考虑，这些演示中并没有涉及那些“高深”的 WebSocket 和 Local DB Storage。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLmIBQw" />
	]]></content>
</entry>

<entry>
	
	<title>Osfoora</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.osfoora.com/" />
	
	<id>tag:picky.olivida.com,2010-06-04:/osfoora</id>
	<published>2010-06-04T07:01:50Z</published>
	<updated>2015-07-06T22:46:33Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>除了不支持 API Proxy（但是在 VPN 上工作得很好），我觉得已经在各方面超越 Tweetie。我尤其喜欢新版本中的 Unread 提示。如果一定要说一个缺点的话，就是切换帐号时的点击数多了一些。总之强烈推荐！</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNGABQw" />
	]]></content>
</entry>

<entry>
	
	<title>REWORK</title>
	
	
	<link rel="alternate" type="text/html" href="http://37signals.com/rework/" />
	
	<id>tag:picky.olivida.com,2010-06-02:/rework</id>
	<published>2010-06-02T05:02:59Z</published>
	<updated>2015-07-06T04:55:00Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>如果你正在创造某种 business，那么花些时间读一下 37signals 的 <a href="http://37signals.com/rework/" target="_blank">REWORK</a> 是绝对值得的。这本书中包含了很多你会希望自己早点知道的，常识。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOn4BAw" />
	]]></content>
</entry>

<entry>
	
	<title>你的时间有多值钱</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/how-much-does-your-time-worth" />
	
	<id>tag:picky.olivida.com,2010-06-02:/how-much-does-your-time-worth</id>
	<published>2010-06-02T04:00:35Z</published>
	<updated>2015-07-06T00:30:40Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>基本上取决于，当同样长度的时间用掉之后，作为结果，可以影响到多人少的心情和生活。而这些人居住在地球上的什么地方，也很重要。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGIHxBAw" />
	]]></content>
</entry>

<entry>
	
	<title>Concentration</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/concentration" />
	
	<id>tag:picky.olivida.com,2010-05-29:/concentration</id>
	<published>2010-05-29T07:08:54Z</published>
	<updated>2015-07-06T22:51:31Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>一些道理在脑子里想的时候很简单，但是实际上遇到考验时，却不一定能够坚持自己的立场。这一年半来，遇到很多看似可以在短期内带来收入的事情，但是过上一段再来重新评估这样的项目时，却发现是对主线的冲击。因为实际上我目前最宝贵也最缺乏的东西是时间，因此任何可能占用到我时间的东西应该屏蔽——自然就包括很多和主线无关，但是却貌似不错的项目。</p>

<p>所谓的主线是：</p>

<ul>
<li>从服务用户，到从用户那里收到钱，中间的层级应该尽可能少。</li>
<li>在全球，尤其是美国和欧洲，有超过 100 万的潜在付费用户。</li>
<li>潜在用户中，有相当部分愿意为了好的设计和用户体验付费。</li>
</ul>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGJnpBAw" />
	]]></content>
</entry>

<entry>
	
	<title>AppSales Mobile</title>
	
	
	<link rel="alternate" type="text/html" href="http://github.com/omz/AppSales-Mobile" />
	
	<id>tag:picky.olivida.com,2010-05-26:/appsales-mobile</id>
	<published>2010-05-26T18:55:54Z</published>
	<updated>2015-07-06T23:39:25Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>一款支持 iPhone 和 iPad 的开源软件，可以在手机上查看汇总的 App Store 销售报告，及汇总的来自各国的 review。</p>

<p>如果你之前没有用过这类软件，那么用之前要慎重——因为你可能会从里面了解到太多你还没有准备好去了解的残酷现实。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLHhBAw" />
	]]></content>
</entry>

<entry>
	
	<title>虾米电台支持 iPad</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.xiami.com/radio/play/type/4/oid/10906" />
	
	<id>tag:picky.olivida.com,2010-05-17:/xiami-radio-supports-ipad</id>
	<published>2010-05-17T09:25:07Z</published>
	<updated>2015-07-05T12:13:54Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>Flash 肯定不能限制这些多媒体网站进军 iPad。</p>

<p>并且，最神奇的是，退出 MobileSafari 之后，音乐也依然在继续。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMnZBAw" />
	]]></content>
</entry>

<entry>
	
	<title>关于独立 Mac 开发者的成功</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/on-how-is-success-for-indie-mac-developer" />
	
	<id>tag:picky.olivida.com,2010-05-08:/on-how-is-success-for-indie-mac-developer</id>
	<published>2010-05-08T03:27:47Z</published>
	<updated>2015-07-02T15:15:26Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>来自 <a href="http://www.panic.com/" target="_blank">Panic</a> 的一条推：</p>

<blockquote>FACT: Since Transmit 4, 11 days ago, Les/Tim/Mike and I have replied to 4,442 support emails. 644 left in the queue. Thanks for patience! -C</blockquote>

<p>自从 Transmit 4 上线以来，他们平均每天要回复 500 封支持邮件。也就是说，如果一刻都不停歇的话，差不多 3 分钟一封。</p>

<p>我现在每天差不多要回 2 到 5 封，已经感觉这个世界是如此的多样化。如果以后这个数字也变成 3 位数，希望那个时候能够有足够专业的人来一起帮我吧。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPnJBAw" />
	]]></content>
</entry>

<entry>
	
	<title>关于钱</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/about-money" />
	
	<id>tag:picky.olivida.com,2010-05-06:/about-money</id>
	<published>2010-05-06T09:05:50Z</published>
	<updated>2015-07-03T06:41:00Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>这是来自 Tim O'Reilly 的一段话：</p>

<block>"Money is like gasoline during a road trip. You don’t want to run out of gas on your trip, but you’re not doing a tour of gas stations. You have to pay attention to money, but it shouldn’t be about the money."</block>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGJHCBAw" />
	]]></content>
</entry>

<entry>
	
	<title>BC2Stats 1.2</title>
	
	
	<link rel="alternate" type="text/html" href="http://cn.olivida.com/bc2stats" />
	
	<id>tag:picky.olivida.com,2010-05-05:/bc2stats-1.2</id>
	<published>2010-05-05T12:56:05Z</published>
	<updated>2015-07-06T21:43:47Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>等了差不多 7 天，<a href="http://itunes.apple.com/app/bc2stats/id367328974" target="_blank">BC2Stats 1.2</a> 终于通过审核了。增加了对 SPECACT DLC 的支持，增加了 Veteran Status / Skill Level / Teamkills，修正了命中率，及其他更多的细节调整。而最激动人心的功能，就是可以查看所有的 dogtag 了。</p>

<p><a href="http://itunes.apple.com/app/bc2stats/id367328974" target="_blank"><img src="http://web.me.com/v2ex.livid/clips/bc2stats_1.2.png" alt="BC2Stats 1.2" border="0" /></a></p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKm6BAw" />
	]]></content>
</entry>

<entry>
	
	<title>BC2Stats 1.2 Sneak Peek</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.youtube.com/watch?v=r3SxPG3zqYE" />
	
	<id>tag:picky.olivida.com,2010-05-01:/bc2stats-1.2-sneak-peek</id>
	<published>2010-05-01T19:59:40Z</published>
	<updated>2015-07-06T13:26:17Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p><a href="http://cn.olivida.com/bc2stats" target="_blank">BC2Stats 1.2</a> 新功能的抢先预览。也是我第一次在 YouTube 上传 HD 质量的视频。感叹一下，YouTube 的上传界面实在是一件艺术品，太好太强大了。像 YouTube 和 Twitter 这样的东西，真的很容易就玩上瘾了。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMGyBAw" />
	]]></content>
</entry>

<entry>
	
	<title>JustNotes</title>
	
	
	<link rel="alternate" type="text/html" href="http://selfcoded.com/justnotes/" />
	
	<id>tag:picky.olivida.com,2010-04-29:/justnotes</id>
	<published>2010-04-29T21:48:30Z</published>
	<updated>2015-07-05T21:41:39Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>用过的最好的 Notes 客户端，可以和 <a href="http://www.simplenoteapp.com/" target="_blank">Simplenote</a> 同步。Simplenote 是一个简单的想法，但是执行异常优异，或许有一天会成为和 Twitter 一个量级的东西。他们的后台选择了 GAE，这也使得我对 GAE 更有信心。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNmqBAw" />
	]]></content>
</entry>

<entry>
	
	<title>关于 BFBC2 的销量</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/on-bfbc2-sales" />
	
	<id>tag:picky.olivida.com,2010-04-29:/on-bfbc2-sales</id>
	<published>2010-04-29T10:05:43Z</published>
	<updated>2015-07-06T04:11:43Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>因为最近在做 <a href="http://cn.olivida.com/bc2stats" target="_blank">BFBC2</a> 的 app，根据目前我手上的数据，这个游戏的全球销量应该已经超过 400 万份，三大平台（PC，PS3 和 Xbox 360）的同时在线人数在 14 万左右（正版玩家）。并且还在持续增长中。一个新的标杆就这么树立起来了。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPGiBAw" />
	]]></content>
</entry>

<entry>
	
	<title>Introducing Project Babel 2.0.0</title>
	
	
	<link rel="alternate" type="text/html" href="https://v2ex.appspot.com/t/1" />
	
	<id>tag:picky.olivida.com,2010-04-26:/introducing-project-babel-2.0.0</id>
	<published>2010-04-26T10:27:00Z</published>
	<updated>2015-07-06T15:10:33Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>全新的 V2EX 回来了。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNKDBAw" />
	]]></content>
</entry>

<entry>
	
	<title>20100424</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/20100424" />
	
	<id>tag:picky.olivida.com,2010-04-23:/20100424</id>
	<published>2010-04-23T19:30:17Z</published>
	<updated>2015-07-04T00:29:54Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>人真的应该在年轻的时候，坚持去做一些有难度的事情。尤其是当面对的是来自这个社会甚至这个世界的困难的时候，更是不要退缩。因为人心如水，若是不断地退缩，最后就只能流到低下的地方去了。</p>

<p>每一段需要咬牙坚持的经历，都是后来自己会去感激的。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGImbBAw" />
	]]></content>
</entry>

<entry>
	
	<title>20100422</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/20100422" />
	
	<id>tag:picky.olivida.com,2010-04-22:/20100422</id>
	<published>2010-04-22T12:05:45Z</published>
	<updated>2015-07-06T13:32:25Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>工作在一个第三方的 API 上，很多时候真的是很没安全感的事情。因为最终用户不会管你的程序不可用其实是因为第三方的 API 有问题。所以，无论如何，我应该在今年内做出一个自己的 API 来。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKGTBAw" />
	]]></content>
</entry>

<entry>
	
	<title>BC2Stats 1.1</title>
	
	
	<link rel="alternate" type="text/html" href="http://cn.olivida.com/bc2stats" />
	
	<id>tag:picky.olivida.com,2010-04-22:/bc2stats-1.1</id>
	<published>2010-04-22T02:16:16Z</published>
	<updated>2015-07-06T21:49:12Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>BC2Stats，一款用于在 iPhone 或 iPod Touch 上查询战地：叛逆连 2 （Battlefield: Bad Company 2） 多人对战成绩的软件，现在已经更新到了 1.1 版本。这个版本修正了 1.0 中 Xbox 360 玩家遇到的“Soldier Not Found”错误，并且带来了以下新功能：</p>

<p>
<ul>
<li>Rush 模式的成绩及胜率，并且分别包括 Attacker 及 Defender 时候的情况。</li>
<li>武器和載具的星级。</li>
<li>在 Kits 页面显示 Best Weapon。这样的话，比如你想知道某世界高手用来杀敌最多的武器的什么的话，用 BC2Stats 查他的 soldier tag 就可以了。</li>
<li>自动更新时会显示进度了。</li>
</ul>
</p>

<p>iTunes 下载链接：<a href="http://itunes.apple.com/app/bc2stats/id367328974" target="_blank">http://itunes.apple.com/app/bc2stats/id367328974</a></p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLmLBAw" />
	]]></content>
</entry>

<entry>
	
	<title>关于 App Store 的审核周期</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/on-app-store-review-process" />
	
	<id>tag:picky.olivida.com,2010-04-21:/on-app-store-review-process</id>
	<published>2010-04-21T00:19:28Z</published>
	<updated>2015-07-06T01:59:11Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p><a href="http://www.iconfactory.com/" target="_blank">Icon Factory</a> 的 <a href="http://furbo.org/" target="_blank">Craig Hockenberry</a> 刚刚在 Twitter 上说，在等了超过一周之后，iPad 版本的 <a href="http://twitterrific.com/" target="_blank">Twitterrific</a> 终于审核通过。</p>

<p>如果只是增加新功能的版本发布，那么等上 7 到 10 天也是可以接受的事情。但是如果是修复错误的发布，那么等上 7 到 10 天就会很要命。因为在这个过程中，1.0 版本中的错误可能就会带来 App Store 里的一堆 1 星评价。</p>

<p>为了避免出现这样的状况，有些问题真的要在提交之前想清楚。</p>

<p>
<ul>
<li>每个开发者都可以用 Ad Hoc 方式在最多 100 台设备上发布 beta 版应用。我觉得这个资源应该好好利用，并且争取能够有几十个热心用户在 submit 之前帮忙测试 1 到 2 天。这样的话，很多正式上线之后猛然发现的 show stopper 都可以用这样的方式测出来。</li>
<li>不要在提交的 app 里包含自己不确定的东西。这样的东西可能会带来一堆愤怒的一星评价，而错误的修正从发现到到达最终用户可能会需要 7 到 10 天。</li>
<li>和愤怒的用户沟通很重要。但是用何种方式沟通呢？Twitter 或许是一种很性感的方式，但是基本上很难覆盖到你的所有用户。著名的 Doodle Jump 游戏在全世界卖了超过 100 万份，可是他们的开发商 @<a href="https://twitter.com/limasky" target="_blank">LimaSky</a> 的 Twitter 帐号上的 followers 却只有 4000 不到。而这种时候，一个简单的 CGI 表单可能会更有用。</li>
</ul>
</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNGDBAw" />
	]]></content>
</entry>

<entry>
	
	<title>胖子与 iPad</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/fat-boy-and-ipad" />
	
	<id>tag:picky.olivida.com,2010-04-20:/fat-boy-and-ipad</id>
	<published>2010-04-20T11:44:11Z</published>
	<updated>2015-07-05T14:31:03Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>首先声明，我不瘦。于是我发现：如果把 iPad 放在肚子上用，貌似凸起来的肚子就会影响敲键盘，最近几天只用 iPad 回过一封长邮件，感觉还得适应适应。Apple 的人貌似都很瘦，所以或许他们在设计和进行初步测试的时候不会遇到这样的问题吧，但是美国胖子那么多。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOn7Aww" />
	]]></content>
</entry>

<entry>
	
	<title>iPad 入手第一天</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/ipad-first-day" />
	
	<id>tag:picky.olivida.com,2010-04-18:/ipad-first-day</id>
	<published>2010-04-18T03:01:37Z</published>
	<updated>2015-07-06T15:31:44Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>一些感想：</p>

<p><ul>
<li>为什么 Apple 会要求所有的应用必须能够支持所有的 orientation，因为 iPad 实在是很重，如果用户拿在手上，已经习惯了一种 orientation 的话，这个时候如果一个新启动的应用要求用户变换 orientation，那么确实会有点累和不爽。</li>
<li>目前的 App Store 里的 iPad 专区，可以用广阔天地，大有作为来形容。</li>
<li>iPad 屏幕的像素密度很高，因此不要假设一些很小的字体会在上面有很好的显示效果，同时也是因为像素密度的原因，图片的显示效果会特别好。而游戏类应用，得益于像素密度，物件的边缘感觉就像是已经有了抗锯齿效果一样。</li>
<li>如果程序中设计有让用户滚动的主区域，那么一定要让这个区域可以很容易地被右手大拇指触碰到。</li>
<li>和 iPhone 时代一样，Apple 自己的应用中有一些非常好看的组件，但是显然这些组件不是位于公开的 API 中的，比如 App Store 里用于放置截图的那个框。这个时候就需要各位的山寨功力和眼力了。</li>
<li>大部分情况下，UISplitViewController 可以解决很多情况，但是自己构建更复杂的界面也不是不可以，比如内置的 iPod 应用就没有用标准的 UISplitViewController。</li>
</ul></p>

<p>以上是玩了一个小时之后的感觉，以后有新的发现再发上来。</p>

<p>另外就是，关于前段时间 Twitter 收购 Tweetie，我觉得这是一件 100% 的好事：</p>

<p>
<ul>
<li>Loren Britcher 向全世界的 iPhone App 开发者演示了一次现实版的美国梦。</li>
<li>iPhone OS 在全世界的活跃用户有几千万，而 Twitter 的也有几千万。但是 iPhone OS 用户为 Apple 及相关公司创造的 ARPU 是一个巨大的数字，而 Twitter 用户的 ARPU 呢？因此，这次收购若是能促成 iPhone OS 用户向 Twitter 用户的转化，那么必然也能提高整个 Twitter 生态系统的价值。</li>
<li>最后，我觉得这件事情未必对于其他第三方开发者和用户而言是坏事。首先，免费版本的 Tweetie 会干掉很多垃圾应用。但是再往后，公司中各种意见妥协的结果真的会战胜 Loren 单打独斗时的高效和创意么？</li>
</ul>
</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGIH0Aww" />
	]]></content>
</entry>

<entry>
	
	<title>BC2Stats.app 1.1 Submitted</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.olivida.com/bc2stats" />
	
	<id>tag:picky.olivida.com,2010-04-17:/bc2stats.app-1.1-submitted</id>
	<published>2010-04-17T11:26:22Z</published>
	<updated>2015-07-06T14:05:57Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>Fingers crossed.</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLHkAww" />
	]]></content>
</entry>

<entry>
	
	<title>JSONView</title>
	
	
	<link rel="alternate" type="text/html" href="https://addons.mozilla.org/en-US/firefox/addon/10869" />
	
	<id>tag:picky.olivida.com,2010-04-16:/jsonview</id>
	<published>2010-04-16T21:16:56Z</published>
	<updated>2015-07-07T01:05:01Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>当你在调试一个 JSON API 的时候，Firefox 提示你下载这个文件一定是很烦的体验。但是，在安装了 JSONView 这个扩展之后，所有的 JSON 就可以在浏览器中格式化为非常清晰且包含代码着色的样式，就像 Firefox 对 XML 的处理那样。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMncAww" />
	]]></content>
</entry>

<entry>
	
	<title>BC2Stats.app</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.olivida.com/bc2stats" />
	
	<id>tag:picky.olivida.com,2010-04-16:/bc2stats.app</id>
	<published>2010-04-16T04:44:02Z</published>
	<updated>2015-07-06T21:51:41Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p><strong>Battlefield: Bad Company 2</strong> 是在今年 O 的生日那天入手的，在随后的时间里，我们在这个游戏上投入了大量的时间——因为多人部分实在是太好玩了：</p>

<p><ul>
<li>这是我们有史以来玩过的对大陆的网络状况兼容得最好的多人 FPS，居然在 PSN 上对战时一点都不卡。</li>
<li>多人部分有 4 个兵种可选——突击，工程，医疗，侦查。这 4 个兵种的可用武器和玩法差别都相当大。</li>
<li>游戏中提供了非常深邃的升级系统，没有那么几十个钟头是不可能升满的。而等你到达高等级之后，和同样高级别的其他玩家对战的感觉又完全不同。</li>
<li>游戏的大部分地图都是室外，非常开阔，让人不得不佩服 Frostbite 1.5 引擎的表现力。并且游戏中的所有建筑，只要被手雷砸到或是被火箭轰到，都会崩然倒塌，物理效果十分真实。整个游戏的环境都是可破坏的。比如看到敌人躲在墙后，那么一发火箭弹也可以让他毙命。</li>
</ul>
</p>

<p>经过差不多一个月的厮杀，FPS 菜鸟如我们也终于到了 25 级。所有武器解锁。于是可以根据战况自由地选择任何武器。于是在 4 月 8 日这天，我们在想，既然这款游戏这么好玩，为什么我们不为它做一款 iPhone App 呢？</p>

<p>然后经过 4 天时间，BC2Stats.app 1.0 提交到了 App Store。这是一款用于在 iPhone 或 iPod Touch 上查看 BFBC2 多人游戏的状态，包括：军衔，杀敌数，爆头数，子弹发射数，命中率，狗牌（Dogtags），各种武器的详细状态，各种载具的详细状态，徽章（Insignias/Pins），奖杯等等。由于我住的地方 3G 覆盖不是很好，所以我们在代码中针对各种可能下载失败的情况做了充分处理，因此哪怕是使用巨慢的 GPRS 网络也可以在一分钟之内获得所有的状态信息。</p>

<p><img src="http://web.me.com/v2ex.livid/clips/m95.png" alt="M95" /></p>

<p>比如上图是我最喜欢的武器 M95 的具体信息，而更多的截图可以到 <a href="http://www.olivida.com/bc2stats" target="_blank">BC2Stats.app</a> 的网站查看。</p>

<p>这是我第一次喜欢一个游戏喜欢到为它做一个 companion app 的程度。这个过程实在是太刺激了。如果你还没有开始玩 BFBC2，那么我强烈推荐你试试：</p>

<p><a href="http://store.steampowered.com/app/24960/" target="_blank">http://store.steampowered.com/app/24960/</a></p>

<p>从 App Store 下载 BC2Stats.app：</p>

<p><a href="http://itunes.apple.com/app/bc2stats/id367328974" target="_blank">http://itunes.apple.com/app/bc2stats/id367328974</a></p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGJHFAww" />
	]]></content>
</entry>

<entry>
	
	<title>GAE Datastore 的排序限制</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/gae-datastore-order-by-limitation" />
	
	<id>tag:picky.olivida.com,2010-04-13:/gae-datastore-order-by-limitation</id>
	<published>2010-04-13T21:15:12Z</published>
	<updated>2015-07-04T10:11:40Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>如果一句 GQL 里既用到不等号又用到 ORDER BY，那么好玩的事情就发生了：</p>

<blockquote>First ordering property must be the same as inequality filter property, if specified for this query; received hits, expected __key__</blockquote>

<p>并且，对于比较操作，也有巨大限制：</p>

<blockquote>BadFilterError: invalid filter: Only one property per query may have inequality filters (<=, >=, <, >)..</blockquote>

<p>另外就是，当你部署了一个需要新的 index 类型的功能时，很可能 GAE 上一时半会还没法构建出新的 index，于是为了不使得服务中断，那么最好是在新功能的 GQL 处用上 try: except:，当然，前提是新功能不是一个必须功能。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKm9Aww" />
	]]></content>
</entry>

<entry>
	
	<title>20100412</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/20100412" />
	
	<id>tag:picky.olivida.com,2010-04-12:/20100412</id>
	<published>2010-04-12T15:48:16Z</published>
	<updated>2015-07-02T09:04:35Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>4 天时间，5000 行代码，最后生成的文件 6.1M，从开始到做完自己都觉得爱不释手的一个东西，使用了一个非常酷的 API，在今天晚上已经提交到了 Apple，好玩的是最后确定下来的内容分级居然是 17+。接下来就等通过之后，再向大家宣布吧。我现在只想去好好睡一觉，然后两天时间不喝咖啡只喝绿茶，然后再继续完成计划中的两个 1.0，一个 1.1 和一个 2.2。</p>

<p>或许我应该在 approved 之后，拍一段 HD 质量的视频然后传到 Vimeo，有些使用时候的感觉，只靠静态图片是远远不能充分传达的。</p>

<p>最近发现的一个有意思的站点 <a href="http://cssiphone.com/" target="_blank">http://cssiphone.com/</a> ，里面收录了大量专为 iPhone 设计的精美网站，很有参考价值。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMG1Aww" />
	]]></content>
</entry>

<entry>
	
	<title>API 掘金者</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/api-gold-miner" />
	
	<id>tag:picky.olivida.com,2010-04-09:/api-gold-miner</id>
	<published>2010-04-09T09:57:21Z</published>
	<updated>2015-07-05T04:19:43Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>今天早上的 <a href="http://events.apple.com.edgesuite.net/1004fk8d5gt/event/" target="_blank">iPhone OS 4 发布会</a>上 Steve Jobs 提出了一个观点：</p>

<blockquote>“在移动设备上，当人们有了什么问题时，并不会去到搜索引擎搜索，而是打开解决特定问题的 App。比如想找吃饭的地方，就会去打开 <a href="http://www.yelp.com/" target="_blank">Yelp</a>。”</blockquote>

<p>这个观点想要传达的信息是，任何一类特定问题，在 iPhone 上都有一个 App 来解决。而驱动每个 App 的，就是背后的 API。</p>

<p>我想，或许最终这个世界上每一个有用的 API，都会被用来驱动某个有用的 iPhone App。目前最成功的例子是 Twitter，全世界已经有了数百个靠谱的 <a href="http://www.oneforty.com/" target="_blank">Twitter API 应用</a> 并且还在不停增长中。我觉得，在未来，个人开发者如果想要获得最大的成功，就应该去盯住那些潜在受众群最广泛的 API，并在移动设备上实现一个优雅的 UI。或者，自己去创造一个这样的 API 源。</p>

<p>国内的网站中<a href="http://www.douban.com/" target="_blank">豆瓣</a>拥有最完整也最开放的 <a href="http://www.douban.com/service/" target="_blank">API</a> 支持，但是我对豆瓣的 API 一直感到遗憾的是：对于需要读写用户信息的 API，他们要求必须使用 OAuth 验证，但是却不提供对 HTTP 验证的支持。我了解 OAuth 的一堆优点，但是：</p>

<p><ul>
<li>OAuth 的签名算法在移动设备上没有成熟好用的库（如果现在已经有了的话，欢迎告诉我，至少在 2008 年我开始时是没有的），而且那个签名规则确实一开始不容易理解。</li>
<li>豆瓣的 OAuth 认证过程不是 iPhone Friendly 的，而是一个面向桌面浏览器设计的页面。</li>
<li>OAuth 在 iPhone 上的开销会很大，因为要完成这个过程，无论如何需要启动一个浏览器。</li>
<li>OAuth 不能用一些简单工具进行调试或者 play，支持 HTTP 验证的 API 就可以用 curl 这样的简单工具进行调试。至少是降低了 API 的使用门槛。</li>
</ul>
</p>

<p>或许也是因为这些无论技术或用户体验上的原因，目前 iPhone 上最靠谱的 Twitter 客户端无一使用的是 OAuth，全都是 HTTP 基础验证。</p>

<p><a href="http://img.ly/Pyy" target="_blank"><img src="http://img.ly/system/uploads/000/198/186/large_image.jpg?1270802528" alt="Twitter Clients for iPhone" border="0" /></a><br /><span class="footnote"><strong>Figure 1.</strong> Twitter clients on my iPod Touch 3rd Generation</span></p>

<p>HTTP 基础验证存在一些安全问题，比如用户名和密码其实是用 BASE64 加密之后传输，这样的话这些敏感信息很容易在中途被截获。但是如果使用的是 HTTP 基础验证的升级版 HTTP 摘要验证，并配合上 SSL 的话，安全性就会大大提高。如果觉得大部分摘要验证实现中的 MD5 算法不够安全，服务器端也可以指定要求客户端使用 SHA256 或者是其他更安全的摘要算法。</p>

<p>在我看来，我对一个 API 源的期望值包括：</p>

<p><ul>
<li>同时支持 HTTP 基础验证和 OAuth，并且 SSL 可选。</li>
<li>对于读取操作，不要设每小时限制（这也是 Twitter API 中目前最讨厌的）。</li>
<li>如果还能提供一组像 Google App Engine 那样的漂亮详尽的性能图表就更好了。<br /><br />
<img src="http://web.me.com/v2ex.livid/clips/app_engine_chart.png" /></li>
</ul></p>

<p>成为一个 API 猎人是一种很好玩的体验，就像是在核爆炸之后的世界，拿着一支捡来的外星武器在废墟里游荡的感觉。而作为探索的出发点，我会推荐 <a href="http://www.github.com/" target="_blank">GitHub</a>，<a href="http://hg.io/" target="_blank">hg.io</a> 还有 <a href="http://www.programmableweb.com/" target="_blank">ProgrammableWeb</a>。</p>

<p><a href="http://store.steampowered.com/app/22370/" target="_blank"><img src="http://web.me.com/v2ex.livid/clips/fallout3.jpg" border="0" alt="Fallout 3: Game of the Year Edition" /></a></p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNmtAww" />
	]]></content>
</entry>

<entry>
	
	<title>我的软件/网站项目中的 80/20</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/80-20-rules-in-my-projects" />
	
	<id>tag:picky.olivida.com,2010-04-06:/80-20-rules-in-my-projects</id>
	<published>2010-04-06T00:27:09Z</published>
	<updated>2015-07-05T21:54:19Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>一个人做事的时候，其实时间更难规划，因为貌似 deadline 没有那么硬了。所以这是我在做一个 1.0 版本的项目时，规划时间和资源的 80/20 原则：</p>

<p>用一半的时间完成 80% 的用户会用到的功能。并且需要保证这个部分的完成足够稳定。这个部分进行再多的测试都是不够的。所以我会拉上周围的所有人来帮我测试。基本的 look-n-feel 和底层的数据访问方面的代码也在这 80% 的范畴中。而最后会直接面向用户的介绍网站和网站上所用的文案，自然也是在这 80% 中。</p>

<p>用另外一半的时间完成 20% 的用户会用到的功能。这些功能在实现难度上比上一部分高，但是最后只能满足可能还不到 20% 的用户。但是这部分用户的评价对软件的销售或是网站的访问量有重大影响，所以用一半的整体资源来做让他们高兴的东西，也是应该的。</p>

<p>而 1.0 阶段完成，站稳脚跟之后，自然会有下一阶段的做事方式。不过在下一个阶段中，诱惑变多，有的时候可能会花大量的时间去完成只有不到 1% 的用户会用到的功能，这在一方面来说是种乐趣，可是也意味着巨大的机会成本。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPGlAww" />
	]]></content>
</entry>

<entry>
	
	<title>iPhone 五子棋 2.1.0</title>
	
	
	<link rel="alternate" type="text/html" href="http://itunes.apple.com/us/app/gomoku/id294454696" />
	
	<id>tag:picky.olivida.com,2010-04-05:/gomoku-iphone-2.1.0</id>
	<published>2010-04-05T21:36:31Z</published>
	<updated>2015-07-06T22:32:30Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>我的小游戏 <a href="http://www.olivida.com/gomoku" target="_blank">Gomoku</a> 的最新版本 2.1.0 刚刚通过了苹果的审核，现在已经可以从 App Store 下载到。</p>

<p>这是 2.0 分支的第一次更新，除了例行的 AI 修正和增强之外，还增加了两块棋盘。其中一块是超级有爱的 <a href="http://www.bangumi.tv/" target="_blank">Bangumi</a> 主题。</p>

<p><a href="http://img.ly/Lr6" target="_blank"><img src="http://img.ly/system/uploads/000/182/348/large_Screen_shot_2010-03-31_at_10.38.11_PM.png?1270046320" alt="Gomoku 2.1.0: Bangumi Board" border="0" /></a></p>

<p>或许你会觉得从实用性来说，Bangumi Tan 主题不太容易看清楚——可是，为什么不可以有一块专为萌倒小朋友而设计的棋盘呢？♥</p>

<p>这里是 Gomoku 的完整<a href="http://picky.olivida.com/gomoku-update-history">更新记录</a>。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKGWAww" />
	]]></content>
</entry>

<entry>
	
	<title>20100403</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/20100403" />
	
	<id>tag:picky.olivida.com,2010-04-03:/20100403</id>
	<published>2010-04-03T19:15:01Z</published>
	<updated>2015-07-06T06:18:11Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>iPad 在美国已经开卖了，可是我目前在中国。所以我还需要等待。不知道 4 月 15 日之前我是否能够拿到这台设备。不过我希望那个时候我在开发的 iPad 应用已经完成。我还是希望能够在提交之前拿到真实设备上进行测试。</p>

<p>不过最近效率不高倒是真的。似乎人随着年龄增长，于是每天吃掉的话比说出来的话就越来越多了。曾经国内有很多喜欢做网站的年轻人，他们每天看着自己的秘密花园里的草木越长越茂盛是一件非常开心的事情。而现在，我觉得，对于他们而言，最好的路似乎，要么加入一家大公司继续做自己想做的事情。或者，彻底转变自己的兴趣？去和横在自己面前的那道墙纠结看起来很壮烈，但是无论如何都不是本来的意愿。总之，我觉得自己现在每天呼吸的空气都挺变态的。而自己的兴趣，其实也正在一个砍掉重练的阶段。这个阶段无论如何努力都无法让其变得更加舒适自然。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLmOAww" />
	]]></content>
</entry>

<entry>
	
	<title>Gomoku V2</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.olivida.com/gomoku" />
	
	<id>tag:picky.olivida.com,2010-03-29:/gomoku-v2</id>
	<published>2010-03-29T02:58:54Z</published>
	<updated>2015-07-01T17:32:26Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p align="center"><a href="http://itunes.apple.com/us/app/gomoku/id294454696?mt=8" target="_blank"><img src="http://a1.phobos.apple.com/us/r1000/043/Purple/e4/fa/2c/mzl.uajasozy.320x480-75.jpg" border="0" /></a></p>

<p><a href="http://www.olivida.com/gomoku" target="_blank">Gomoku</a> 是我在 2008 年中开始的项目，那是 iPhone 官方 SDK 刚刚宣布的时候。一开始在申请 iPhone Developer Program 时遇到颇多挫折，不过最后还是在 2008 年 10 月时拿到了 iDP，应该是当时中国的第一批。过程中得到了苹果公司的夏鹏先生和张碧仿先生的巨大帮助，在这里再次感谢他们。在拿到 iDP 后我就提交了 Gomoku V1 并很快得到了通过。根据我当时的搜索结果，Gomoku 应该是当时 App Store 里第三款<a href="http://www.olivida.com/gomoku" target="_blank">五子棋</a>游戏。</p>

<p>Gomoku V1 上线时我正在杭州，而自己那时候的工作并非是和 iPhone 有关的。在杭州的不到一年时间我想明白的事情是，我到底还是要做一件自己真正感兴趣的事情，才会在遇到挫折和不快时，能够持续保持斗志。于是我最终在 2009 年 8 月离开了杭州，然后让自己进入到了一种彻底自由的状态，去做自己想做的事情。</p>

<p>于是这半年来，我的几乎所有时间都在 iPhone OS 和 App Engine 上。而 Gomoku V2，我的第一个 iPhone App 作品 Gomoku 的 2.0 升级版本，在今年 3 月 29 日首先上线。</p>

<p>我在这个版本中重写了 AI 引擎，增加了 7 种不同的棋盘样式，增加了显示棋盘坐标（根据国际比赛标准）及上一步的功能，并且还增加了非常详尽的帮助页面及游戏胜负统计。</p>

<p>V2 于 2010 年 3 月 25 日提交到 Apple，在 4 天之后审核通过。App Store 现在的审核效率实在是提高了很多。我计划在下个月的 15 号，及 5 月初，再提交两个应用。而 Gomoku，也将会持续改进下去，并且它的后续版本的升级都将是免费的。如果你喜欢五子棋，那么欢迎来试试我的版本。</p>

<p>下载地址：<a href="http://itunes.apple.com/us/app/gomoku/id294454696?mt=8" target="_blank">http://itunes.apple.com/us/app/gomoku/id294454696?mt=8</a></p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNGGAww" />
	]]></content>
</entry>

<entry>
	
	<title>20100327</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/20100327" />
	
	<id>tag:picky.olivida.com,2010-03-27:/20100327</id>
	<published>2010-03-27T00:23:20Z</published>
	<updated>2015-07-04T21:08:32Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>本来各种天气预报都说昆明会在 3 月 26 日晚上下雨，可是我 27 日早上起来，发现被骗了。</p>

<p>昨天把自己一直以来会在工作时候听的音乐整理了一下，列表在<a href="http://www.xiami.com/song/showcollect/id/903612" target="_blank">这里</a>。虾米的精选辑有 50 首的上限。我改天再做 Part II 了。</p>

<p>最近一直十分感叹的事情就是，Apple 的保密工作实在是太厉害了。3 月都快结束了，我们还是丝毫不知道 iPad 的内存究竟会有多大。而这个数字决定了 iPad 上究竟会不会出像 Aperture 或者 Lightroom 这样的软件。我希望这个数字是 512。毕竟 PS3 也只有 512，但是足够做很多事情了。</p>

<p>一点关于 iPhone App 开发的小体会：不要把一堆计算任务压到启动的时候做，哪怕是看起来再小的部分——比如计算 cell 的高度。尽可能提前把这些东西都算好，用空间换时间是绝对值得的——启动更快则用户也更高兴。而且很多莫名其妙的和 WebCore 或者 icu 有关的启动即崩溃的问题也就一并解决了。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOn-Agw" />
	]]></content>
</entry>

<entry>
	
	<title>地球一小时 2010</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.earthhour.org/" />
	
	<id>tag:picky.olivida.com,2010-03-26:/earth-hour-2010</id>
	<published>2010-03-26T02:34:45Z</published>
	<updated>2015-07-06T13:41:25Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>今年的 3 月 27 日的晚上 8:30，记得关灯一个小时哦。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGIH3Agw" />
	]]></content>
</entry>

<entry>
	
	<title>Adobe Creative Suite 5</title>
	
	
	<link rel="alternate" type="text/html" href="http://cs5launch.adobe.com/" />
	
	<id>tag:picky.olivida.com,2010-03-24:/adobe-creative-suite-5</id>
	<published>2010-03-24T14:10:49Z</published>
	<updated>2015-07-06T15:24:07Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p><a href="http://cs5launch.adobe.com/" target="_blank">Adobe Creative Suite 5</a> 将于今年 4 月 12 日发布。我对其中的两个部件特别感兴趣。</p>

<ul>
<li>Flash Catalyst - 很早就宣布了的技术，记得好像最初的名字是 Thermo，让设计师可以直接在 Photoshop 中，通过一些层规则，就直接输出可用的 UI。
</li>
<li>
Flash Creative Suite 5 - 可以用来开发 iPhone 原生应用，并且所开发的应用可以提交至 App Store。目前 iPhone 开发平台上还没有任何强大的 content authoring 工具，如果 Flash CS5 能够实现承诺，那么冲击巨大。
</li>
</ul>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGJnvAgw" />
	]]></content>
</entry>

<entry>
	
	<title>20100322</title>
	
	
	<link rel="alternate" type="text/html" href="http://news.sina.com.cn/z/xngh/index.shtml" />
	
	<id>tag:picky.olivida.com,2010-03-21:/20100322</id>
	<published>2010-03-21T16:46:59Z</published>
	<updated>2015-07-06T19:58:54Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>自从进入 2010 年，我所在的这座城市就没有下过雨。而最近几天，这座城市所在的省份终于登上了各种新闻网站的头条。连国家总理都跑到离昆明只有几百公里却是重灾区的地方查看灾情。</p>

<p>似乎从小到大，这样的情况还是第一次遇到。而几天前看到新闻说，甚至连机场的跑道，都因为地下水干涸而下沉断裂，进而影响到飞机起降。虽然目前昆明城区内各种供水似乎还算正常，可是一切却像是正在朝越来越糟糕的方向发展。</p>

<p>如果这样的状况真的持续十年？那么这里的小河和池塘会慢慢的干涸，一切绿色的植物也将消亡。只是稍稍想像一下就觉得恐怖至极。</p>

<p>于是想到几个问题。</p>

<ol>
<li>一些极其浪费水的行业或许应该消失了，比如桑拿和澡堂。</li>
<li>酒店或许应该为每个房间装上单独的水表，并且将房间内的所有用水算为额外的收费项目。</li>
<li>石油是可以通过管道进行长距离输送的，那么水呢？我好奇这个世界上是否有跨省输水管这样的玩意？</li>
<li>不知道政府是否有类似我们统计网站流量那样的精确系统，用于统计一个省份各个地区的水消耗，并且生成直观的图表甚至智能化的报警呢？（Google Analytics 就有这样的报警）精确的数据是做出正确决策的第一步。</li>
</ol>

<p>在发生这次旱灾之前，昆明的民用水价和全国相比都不算便宜——4 元一吨。如果因为这次的旱灾将水价提到 8 元一吨，并且将额外征收到的水费用于人工降雨的尝试，那或许也不错。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLHnAgw" />
	]]></content>
</entry>

<entry>
	
	<title>关于刚部署完的 Picky</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/on-initial-picky-deployment" />
	
	<id>tag:picky.olivida.com,2010-03-20:/on-initial-picky-deployment</id>
	<published>2010-03-20T12:27:49Z</published>
	<updated>2015-07-06T14:07:05Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>如果你是第一次在 App Engine 上部署 Project Picky，然后用浏览器打开时，很可能会看到一个出错提示。这是正常的，因为这个时候 Google 的服务器还没有为这个新应用建立索引。稍微等 15 分钟到一个小时再上去看就好了。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMnfAgw" />
	]]></content>
</entry>

<entry>
	
	<title>20100319</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/20100319" />
	
	<id>tag:picky.olivida.com,2010-03-18:/20100319</id>
	<published>2010-03-18T20:52:52Z</published>
	<updated>2015-07-05T14:06:20Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>最近从推友 @<a href="https://twitter.com/beenhero" target="_blank">beenhero</a> 的淘宝店 <a href="http://shop37054122.taobao.com/" target="_blank">MooBuy</a> 购买了一台 Amazon Kindle 2，从美国直接 FedEx 到中国，到手之后，非常满意。这台精致的白色设备的做工实在是完美。而电子墨水屏幕的表现也确实适合长时间阅读。接下来我打算在上面读完我之前积攒的几本关于 Core Animation 的书，及最近很热的 <a href="http://37signals.com/rework/" target="_blank">REWORK</a>。</p>

<p>在过去的两个月，也就是自 iPad 发布后，我一直在为一款 iPad 上的软件昼夜工作。现在两个月过去了，这款软件已经基本上在 Simulator 中成型了。接下来期待的就是尽快到真实设备上进行测试并最终登陆 App Store。</p>

<p>随着 Mac 屏幕的像素密度逐年提高，我个人感觉 Apple 从 2000 开始发展的一套 GUI 设计风格已经越来越需要一次巨大的更新，很多 Apple 自己的软件在 iMac 27 及 MacBook Pro 17 上显示时，字体及很多控件的尺寸已经显得太小，进而影响到可用性。而 iPad 会成为下一个 10 年 Apple 新的 GUI 设计风格的试验田。</p>

<p>目前 Mac OS X 的 Aqua 风格有很多细节，但是问题是这些细节一旦需要进行缩放时就会遇到问题——Apple 自己的很多设计优秀的软件，及第三方的优秀作品如 Things，界面上的元素基本上都是 PNG 图片构成的。而完全使用矢量图形构成的 GUI 目前在大规模使用的恐怕只有 Java 的 <a href="http://java.sun.com/javase/6/docs/technotes/guides/jweb/otherFeatures/nimbus_laf.html" target="_blank">Nimbus</a>。</p>

<p>iPad 这样的触屏设备天生就会需要尺寸较大的操作控件，于是很多 Mac OS X 现成的设计风格更是无法移植。于是在这样的上下文中，Windows Phone 7 的那种摒弃了很多细节强调 zoomable 的设计，就显得十分有趣而且 modern 了。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGOHXAgw" />
	]]></content>
</entry>

<entry>
	
	<title>高速公路路标字体</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.typeisbeautiful.com/2010/03/2123" />
	
	<id>tag:picky.olivida.com,2010-03-18:/highway-typography</id>
	<published>2010-03-18T13:25:40Z</published>
	<updated>2015-07-06T15:43:42Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>一篇关于全球各国高速公路路标所用字体设计的趣文，非常有意思。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPnPAgw" />
	]]></content>
</entry>

<entry>
	
	<title>Battlefield: Bad Company 2</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.gamespot.com/ps3/action/battlefieldbadcompany2/" />
	
	<id>tag:picky.olivida.com,2010-03-13:/battlefield-bad-company-2</id>
	<published>2010-03-13T08:06:55Z</published>
	<updated>2015-07-06T17:45:03Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>由位于瑞典的 <a href="http://www.dice.se/" target="_blank">DICE</a> 工作室基于自创的 <a href="http://en.wikipedia.org/wiki/Frostbite_Engine" target="_blank">Frostbite</a> 引擎开发的 FPS，个人觉得是史上最好的多人枪战游戏——武器之间差异足够大，多种载具可选，画面极佳（PC 版更是华丽），而且居然 PSN 上大规模对战时一点都不卡。</p>

<p><img src="http://image.com.com/gamespot/images/2010/061/reviews/957917_20100303_790screen006.jpg" width="540" /></p>

<p>我的美服 PSN ID：OLIVIDA，欢迎 BFBC2 玩家来加。通常下午 2:00 到 3:30 在线。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGJHIAgw" />
	]]></content>
</entry>

<entry>
	
	<title>start.io</title>
	
	
	<link rel="alternate" type="text/html" href="http://start.io/" />
	
	<id>tag:picky.olivida.com,2010-03-11:/start.io</id>
	<published>2010-03-11T10:11:36Z</published>
	<updated>2015-07-06T21:25:21Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p><a href="http://start.io/" target="_blank">start.io</a> 是一个可以让你自助设计自己的浏览器起始页的服务。这是我的起始页：</p>

<blockquote><code><a href="http://start.io/livid" target="_blank">http://start.io/livid</a></code></blockquote>

<p>有多种布局和配色可以选择，另外还支持 OPML 导入。我之前自己做过一个类似的小东西自用，运行在 GAE 上：<a href="http://start.olivida.com/" target="_blank">http://start.olivida.com/</a>，源代码在<a href="http://hg.io/livid/olivida-start/" target="_blank">这里</a>。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKnAAgw" />
	]]></content>
</entry>

<entry>
	
	<title>Opera 10.50</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.opera.com/" />
	
	<id>tag:picky.olivida.com,2010-03-09:/opera-10.50</id>
	<published>2010-03-09T23:07:14Z</published>
	<updated>2015-07-06T21:41:09Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>Opera 10.50，对于 CSS3 的各种特性已经有了相当好的支持，并且 Opera 只支持 CSS3 的标准语法，如 border-radius 而不是 -webkit-border-radius 这样的“方言”。目前 Windows 平台的正式版本已经发布。非常值得各位设计师跟进。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGMG4Agw" />
	]]></content>
</entry>

<entry>
	
	<title>Steam is coming to Mac</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.tuaw.com/2010/03/08/valve-steam-games-coming-to-mac-in-april/" />
	
	<id>tag:picky.olivida.com,2010-03-08:/steam-mac</id>
	<published>2010-03-08T23:11:13Z</published>
	<updated>2015-07-02T10:19:27Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>全世界最大的数字游戏商店 <a href="http://www.steampowered.com/" target="_blank">Steam</a> 将在今年 4 月提供 Mac OS X 版。这是 Valve 在今年的 GDC 上抛出的重量级消息。如果你已经在 Steam 上购买了某游戏的 Windows 版本，并且这个游戏是 Valve 开发的话，那么你将不需要花一分钱就获得这个游戏的 Mac 版。</p>

<p>我从 06 年开始使用 Steam 时就在期盼这一天。这是我的 Steam Community 主页：</p>

<blockquote><a href="http://steamcommunity.com/id/v2ex" target="_blank">http://steamcommunity.com/id/v2ex</a></blockquote>

<p>相信 Mac 的市场占有率将因此获益。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGNmwAgw" />
	]]></content>
</entry>

<entry>
	
	<title>GameFinder by Slide to Play</title>
	
	
	<link rel="alternate" type="text/html" href="http://itunes.apple.com/app/gamefinder-by-slide-to-play/id359059391" />
	
	<id>tag:picky.olivida.com,2010-03-06:/game-finder-by-slide-to-play</id>
	<published>2010-03-06T23:21:26Z</published>
	<updated>2015-07-04T03:04:15Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>一个帮助你发现新 iPhone 游戏的 free app，很好玩，也很实用。来自 <a href="http://www.slidetoplay.com/" target="_blank">Slide to Play</a>。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPKoAgw" />
	]]></content>
</entry>

<entry>
	
	<title>LazyTweet</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.lazytweet.com/" />
	
	<id>tag:picky.olivida.com,2010-03-05:/lazytweet</id>
	<published>2010-03-05T23:50:04Z</published>
	<updated>2015-07-05T06:43:44Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>LazyTweet 可以把 Twitter 变成你大脑的一部分——如果你有任何问题想得到答案，那么就在 Twitter 写出你的问题，并在消息中加上 #lazytweet 这个标签。然后或许用不了多久，你就会收到来自别人的回答。考虑到 Twitter 在全世界已有超过 1 亿注册用户，得到一个靠谱回答的几率还是相当大的。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGPGoAgw" />
	]]></content>
</entry>

<entry>
	
	<title>Static Analyzer in Xcode 3.2</title>
	
	
	<link rel="alternate" type="text/html" href="http://developer.apple.com/mac/library/featuredarticles/StaticAnalysis/index.html" />
	
	<id>tag:picky.olivida.com,2010-03-04:/static-analyzer-xcode-3.2</id>
	<published>2010-03-04T00:42:25Z</published>
	<updated>2015-07-06T13:58:01Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>来自 LLVM Clang 项目的高科技——C/Objective-C 语言静态分析。可以帮助你进一步减少 Cocoa 应用中内存管理的低级错误。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGImhAgw" />
	]]></content>
</entry>

<entry>
	
	<title>Anatomy of Apple Design</title>
	
	
	<link rel="alternate" type="text/html" href="http://vimeo.com/9820827" />
	
	<id>tag:picky.olivida.com,2010-03-03:/anatomy-of-apple-design</id>
	<published>2010-03-03T18:22:42Z</published>
	<updated>2015-07-06T11:38:25Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>Transparent House 做的一段很漂亮的视频，展示了从 Apple I 到 iPad，由 Apple 设计的几款最重要的产品。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGL2RAgw" />
	]]></content>
</entry>

<entry>
	
	<title>iPad: 700,000 in March, 1,000,000 in April</title>
	
	
	<link rel="alternate" type="text/html" href="http://www.9to5mac.com/ipads-on-time-3640936270" />
	
	<id>tag:picky.olivida.com,2010-03-03:/ipad-initial-shipping</id>
	<published>2010-03-03T18:08:14Z</published>
	<updated>2015-07-03T03:48:29Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>来自苹果供货商 Foxconn 的消息，iPad 会在 3 月出货 70 万部，4 月 100 万部。很多。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKKZAgw" />
	]]></content>
</entry>

<entry>
	
	<title>8001050F</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/8001050F" />
	
	<id>tag:picky.olivida.com,2010-03-01:/8001050F</id>
	<published>2010-03-01T08:32:31Z</published>
	<updated>2015-07-03T13:21:42Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>大约从北京时间今天早上 8:30 左右，全球最大的游戏网络之一 PSN，即 PlayStation 3 的在线对战网络无法登录。所有使用厚版机器（40G/80G）的玩家在尝试登入时，返回错误代码 8001050F，同时，之前所有从 PSN Store 购买的动态主题无法使用，被标识为 corrupt data。而更悲剧的是，大量支持奖杯的 PS3 游戏甚至无法启动，奖杯信息无法显示，包括最新的 Resident Evil 5: Alternative Edition 和热门大作 Heavy Rain。而部分从 PSN Store 购买的游戏也出现故障无法启动。</p>

<p>而现在已经过去 8 个小时，故障依然持续。全球数百万玩家受到影响。在早些时候，PSN 一词甚至成为了 Twitter 的 Trending Topic。SCEA 的官方 Twitter 帐户 @<a href="https://twitter.com/SonyPlayStation" target="_blank">SonyPlayStation</a> 在 7 个小时前对此的回应：</p>

<blockquote>We're aware that many of you are having problems connecting to PSN, and yes, we're looking into it. Stay tuned for updates.</blockquote>

<p>在我印象中，这是最近几年所有云概念服务中时间最长，影响用户最多的一次 down 机。于是，在这个本来属于 RE5:AE 的下午，我搬出了已经蒙了一层灰的 PS2，玩了一个小时的各种老游戏。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLyRAgw" />
	]]></content>
</entry>

<entry>
	
	<title>IOGraph</title>
	
	
	<link rel="alternate" type="text/html" href="http://iographica.com/" />
	
	<id>tag:picky.olivida.com,2010-02-28:/iograph</id>
	<published>2010-02-28T15:17:46Z</published>
	<updated>2015-07-07T06:16:31Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>之前在这里向大家介绍过的 <a href="http://picky.olivida.com/mouse-path" target="_blank">mousepath.jar</a>，现在他们有一个新名字和 Mac OS X Native App 了——<a href="http://iographica.com/" target="_blank">IOGraph</a>。当然，Windows 和 Linux 版本也有。并且，现在还可以支持多显示器。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLuRAgw" />
	]]></content>
</entry>

<entry>
	
	<title>管理 Mercurial 中的默认路径</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/default-paths-in-mercurial" />
	
	<id>tag:picky.olivida.com,2010-02-27:/default-paths-in-mercurial</id>
	<published>2010-02-27T15:45:25Z</published>
	<updated>2015-07-05T06:48:51Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>Mercurial 的每次 hg pull 和 hg push 其实是没有必要在后面输入完整的远程 repository 路径的。最简单的解决办法就是，打开你的用 hg 管理的项目，其中有一个名为 .hg 的隐藏目录，编辑其中的一个叫做 hgrc 的文件（如果还没有的话，就创建之），加入下面这三行（以我在 <a href="http://hg.io/" target="_blank">hg.io</a> 的 <a href="http://hg.io/livid/olivida-start/" target="_blank">olivida-start</a> 项目为例）：</p>

<blockquote><code>[paths]<br />default = https://hg.io/livid/olivida-start/<br />default-push = https://hg.io/livid/olivida-start/</code></blockquote>

<p>你需要把上面的 URL 换成你自己的项目的。之后你每次 hg pull/push 时，就不需要输入 URL 了。</p>

<p><a href="http://start.olivida.com/" target="_blank"><strong>start.olivida.com</strong></a>，我上面提到的那个小项目，是我目前自用的浏览器默认首页，运行于 GAE 上，收录了我最常访问的网站，及一些在安装新电脑时有用的网址。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLqRAgw" />
	]]></content>
</entry>

<entry>
	
	<title>Squeeze</title>
	
	
	<link rel="alternate" type="text/html" href="http://latenitesoft.com/squeeze/" />
	
	<id>tag:picky.olivida.com,2010-02-27:/squeeze</id>
	<published>2010-02-27T14:01:09Z</published>
	<updated>2015-07-06T22:14:11Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>Squeeze 是一个帮助你用 CPU 换取硬盘空间的软件。安装之后，会在 System Preferences 中多出一个 Squeeze 面板，然后你可以在其中添加文件夹，然后 Squeeze 就会默默地为你压缩文件夹中的内容，但是这样的压缩不会影响到 Mac OS X 系统平时的读取。如果你的 MacBook Pro 硬盘紧张，那么不妨一试。</p>

<p>不过，我得提醒你，这个软件目前的版本号是 1.0。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGKGZAgw" />
	]]></content>
</entry>

<entry>
	
	<title>Desperate Escape</title>
	
	
	<link rel="alternate" type="text/html" href="http://picky.olivida.com/desperate-escape" />
	
	<id>tag:picky.olivida.com,2010-02-25:/desperate-escape</id>
	<published>2010-02-25T12:09:16Z</published>
	<updated>2015-07-04T14:29:42Z</updated>
	<author>
		<name>Livid</name>
		<uri>http://picky.olivida.com/</uri>
	</author>
	<content type="html" xml:base="http://picky.olivida.com/" xml:lang="en"><![CDATA[
	
		
			<p>今天把 RE5:AE 的第二个 DLC 关卡 Desperate Escape 打穿了。这个关卡要在 6-3 过了之后才有。感觉这次 AE 是在向两个游戏致敬：初代的生化危机和 L4D，Desperate Escape 的整个设置实在是太像 L4D 了——杀出一条血路，然后坚持到直升飞机降落。</p>
		
	
	<img src="http://picky.olivida.com/hit/agp2MmV4LXBpY2t5cg8LEgdBcnRpY2xlGLmRAgw" />
	]]></content>
</entry>

</feed>