<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.gracecode.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">
<channel>
<title>Gracecode.com</title>
<link>http://www.gracecode.com/</link>

<language>zh-CN</language>
<description>精于心、简于形</description>
<lastBuildDate>Mon, 30 Jan 2012 14:51:50 +0800</lastBuildDate>
<pubDate>Mon, 30 Jan 2012 14:51:50 +0800</pubDate>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.gracecode.com/gracecode" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="gracecode" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.gracecode.com%2Fgracecode" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.gracecode.com%2Fgracecode" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.gracecode.com%2Fgracecode" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.gracecode.com/gracecode" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.gracecode.com%2Fgracecode" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.gracecode.com%2Fgracecode" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.gracecode.com%2Fgracecode" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
<title>再见，flickr !</title>
<link>http://www.gracecode.com/archives/3082/</link>
<guid>http://www.gracecode.com/archives/3082/</guid>
<pubDate>Mon, 30 Jan 2012 14:51:50 +0800</pubDate>
<dc:creator>明城</dc:creator>
<description><![CDATA[又到了一年一度续费 [flickr](http://www.flickr.com/photos/feelinglucky/) 的时候了，而我今年已经不打算再给 flickr 续费了。主要原因除了自己懒...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>又到了一年一度续费 <a href="http://www.flickr.com/photos/feelinglucky/">flickr</a> 的时候了，而我今年已经不打算再给 flickr 续费了。主要原因除了自己懒和忙没不愿意拍照外， flickr 的未来还是叫人比较堪忧的。</p>

<p><img src="http://files.gracecode.com/2012_01_30/1327905208.png" alt="http://files.gracecode.com/2012_01_30/1327905208.png" /></p>

<p>flickr 的东家 Yahoo 现在的日子也并不好受，甚至我觉得 Yahoo 应该像 <a href="http://delicious.com/">del.icio.us</a> 一样，将其出售给更适合经营它的人，例如 Google 。</p>

<p>不难看出，近些年 flickr 做了哪些令用户激动的创新和改进，在我本人看来 flickr 目前的状态与老大哥 Yahoo 无异。</p>

<p>根据自己的使用习惯，其实有比 flickr 更适合我的图片托管服务商，例如我经常使用的 <a href="http://picplz.com/user/feelinglucky/">picplz</a> 。相比 flickr ，picplz 、<a href="http://instagr.am/">Instagram</a>  等类似的服务有着几点天生的优势：</p>

<ol>
<li>没有过于做作的照片（这点我对 flickr 颇有微辞，虽然有人喜欢这个风格）</li>
<li>更贴近大众</li>
<li>没有更方便的上传和分享方式了</li>
<li>免费，而且不限容量</li>
</ol>

<p>所以，我开始并不买 flickr 的帐了，再见 flickr！</p>

<p>PS，如果您也需要备份 flickr 相片到本地，可以试试 <a href="https://code.google.com/p/onairbustour/">fludump</a> 。</p>

<hr />

<p>Blog 的写作格式从 <a href="http://www.wikicreole.org/">Creole</a> 更换为 <a href="http://en.wikipedia.org/wiki/Markdown">Markdown</a> 了，具体的原因可以<a href="http://en.wikipedia.org/wiki/Lightweight_markup_language">参看和对比这里</a> 。如果您使用 <a href="http://typecho.org">Typecho</a> 并且也对 Markdown 情有独钟的话，<a href="http://files.gracecode.com/2012_01_30/1327903793.zip">那么这个插件</a>是你必不可少的。</p>

<p><code>-- EOF --</code></p>

]]></content:encoded>
<slash:comments>6</slash:comments>
<comments>http://www.gracecode.com/archives/3082/#comments</comments>
<wfw:commentRss>http://www.gracecode.com/feed/archives/3071/</wfw:commentRss>
</item>
<item>
<title>Finder 当前路径打开 Terminal 的小插件</title>
<link>http://www.gracecode.com/archives/3081/</link>
<guid>http://www.gracecode.com/archives/3081/</guid>
<pubDate>Wed, 07 Dec 2011 10:07:15 +0800</pubDate>
<dc:creator>明城</dc:creator>
<description><![CDATA[码农在 Mac 折腾的时候都会在 Finder 和 Terminal 之中切换，所以在 Finder 中打开 Terminal 这个插件并不可少。其实这样的小工具已经有很多现成的， [例如这个](ht...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>码农在 Mac 折腾的时候都会在 Finder 和 Terminal 之中切换，所以在 Finder 中打开 Terminal 这个插件并不可少。其实这样的小工具已经有很多现成的， <a href="https://code.google.com/p/cdto/" title="https://code.google.com/p/cdto/">例如这个</a> 。</p>

<p>出于折腾以及洁癖等心理作祟，还是自己用 AppleScript 写了个，好处就是可以无视系统的兼容问题。</p>

<p><img src="http://files.gracecode.com/2011_12_07/1323223251.png" alt="http://files.gracecode.com/2011_12_07/1323223251.png" title="http://files.gracecode.com/2011_12_07/1323223251.png" /></p>

<p>安装方法很简单， <a href="https://code.google.com/p/gracecode/downloads/detail?name=Open%20Terminal%20Here.app.zip" title="https://code.google.com/p/gracecode/downloads/detail?name=Open%20Terminal%20Here.app.zip">下载压缩包</a> 以后直接把程序图标拖动到 Finder 中的工具栏中即可。当然，如果你是键盘控的话，完全可以设定个快捷键。</p>

<p>顺便说一句，这个 app 可以用 「AppleScript 编辑器」 打开编辑。OK，希望这个小玩意能帮到你。</p>

<p><code>— EOF —</code></p>

]]></content:encoded>
<slash:comments>6</slash:comments>
<comments>http://www.gracecode.com/archives/3081/#comments</comments>
<wfw:commentRss>http://www.gracecode.com/feed/archives/3071/</wfw:commentRss>
</item>
<item>
<title>PHP 5.4 的 Trait 特性（翻译整理）</title>
<link>http://www.gracecode.com/archives/3080/</link>
<guid>http://www.gracecode.com/archives/3080/</guid>
<pubDate>Fri, 18 Nov 2011 18:53:18 +0800</pubDate>
<dc:creator>明城</dc:creator>
<description><![CDATA[原文：  [http://www.xpertdeveloper.com/2011/11/trait-in-php/](http://www.xpertdeveloper.com/2011/11/tra...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>原文：  <a href="http://www.xpertdeveloper.com/2011/11/trait-in-php/" title="http://www.xpertdeveloper.com/2011/11/trait-in-php/">http://www.xpertdeveloper.com/2011/11/trait-in-php/</a> 。这里总结下注意的几 点：</p>

<ul>
<li>Trait 会覆盖调用类继承的父类方法</li>
<li>Trait 无法如 Class 一样使用 new 实例化</li>
<li>单个 Trait 可由多个 Trait 组成</li>
<li>在单个 Class 中，可以使用多个 Trait</li>
<li>Trait 支持修饰词（modifiers），例如 final、static、abstract</li>
<li>我们能使用 insteadof 以及 as 操作符解决 Trait 之间的冲突</li>
</ul>

<p><code>-- Split --</code></p>

<h2>一些看法</h2>

<p>坦白讲，我第一眼看到 Trait 对它并没有任何好感。PHP5 以来带来的新特性已经足够得 多，而且让开发者们有点应接不暇。</p>

<p>同时，Trait 更像是程序员的 <a href="http://en.wikipedia.org/wiki/Syntactic_sugar" title="http://en.wikipedia.org/wiki/Syntactic_sugar">「语法糖」</a> ，然而它提供便利的同时可能会造成巨大的隐患。 例如 Trait 能够调用类中的成员：</p>

<pre>trait Hello {
    public function sayHelloWorld() {
        echo 'Hello'.$this-&gt;getWorld();
    }
    abstract public function getWorld();
}

class MyHelloWorld {
    private $world;
    use Hello;
    public function getWorld() {
        return $this-&gt;world;
    }
    public function setWorld($val) {
        $this-&gt;world = $val;
    }
}</pre>

<p>同时，针对类中已经实现的方法，Trait 没有效果</p>

<pre>trait HelloWorld {
    public function sayHello() {
        echo 'Hello World!';
    }
}

class TheWorldIsNotEnough {
    use HelloWorld;
    public function sayHello() {
        echo 'Hello Universe!';
    }
}

$o = new TheWorldIsNotEnough();
$o-&gt;sayHello(); // echos Hello Universe!</pre>

<p>那么 Trait 的出现是为何呢？ <a href="http://bbs.phpchina.com/forum.php?mod=redirect&amp;goto=findpost&amp;ptid=210870&amp;pid=1784697" title="http://bbs.phpchina.com/forum.php?mod=redirect&amp;goto=findpost&amp;ptid=210870&amp;pid=1784697">有哥们的回答比较有意思</a> ，但不无道理：</p>

<pre>因为php没有javascript作用域链的机制，所以无法把
function bind到class里面，曾经以为php 5.3的闭包
可以做这个事，最后才发觉作用域的设计不允许这么干</pre>

<p>但话说回来，拿 interface 和 Trait 类比，显然 Trait 有更多方便的地方（虽然 两者不能完全相互替代）。</p>

<p>不过很显然 Trait 目前还处于测试阶段，它的未来相比其他 PHP5 新推来的特性还有 更多让人观望的地方，但或许这特性能改变 PHP5 未来继承的方式。</p>

<p>因为，我个人坚信 PHP 的作用链设计迟早会改得「更像 JavaScript」，即便这事情会在遥远的 PHP6 。</p>

<h2>参考链接</h2>

<ul>
<li><a href="http://php.net/manual/en/language.oop5.traits.php" title="http://php.net/manual/en/language.oop5.traits.php">http://php.net/manual/en/language.oop5.traits.php</a></li>
<li><a href="https://wiki.php.net/rfc/traits" title="https://wiki.php.net/rfc/traits">https://wiki.php.net/rfc/traits</a></li>
<li><a href="http://en.wikipedia.org/wiki/Trait_%28computer_programming%29" title="http://en.wikipedia.org/wiki/Trait_%28computer_programming%29">http://en.wikipedia.org/wiki/Trait<em>%28computer</em>programming%29</a></li>
<li><a href="http://bbs.phpchina.com/thread-210870-1-1.html" title="http://bbs.phpchina.com/thread-210870-1-1.html">http://bbs.phpchina.com/thread-210870-1-1.html</a></li>
<li><a href="http://scg.unibe.ch/research/traits/" title="http://scg.unibe.ch/research/traits/">http://scg.unibe.ch/research/traits/</a></li>
<li><a href="http://walu.sinaapp.com/?p=60" title="http://walu.sinaapp.com/?p=60">http://walu.sinaapp.com/?p=60</a></li>
<li><a href="http://www.phppan.com/2011/07/mixin-and-trait/" title="http://www.phppan.com/2011/07/mixin-and-trait/">http://www.phppan.com/2011/07/mixin-and-trait/</a></li>
</ul>

<p><code>-- EOF --</code></p>

]]></content:encoded>
<slash:comments>2</slash:comments>
<comments>http://www.gracecode.com/archives/3080/#comments</comments>
<wfw:commentRss>http://www.gracecode.com/feed/archives/3071/</wfw:commentRss>
</item>
<item>
<title>随记 Google Developer Day 2011</title>
<link>http://www.gracecode.com/archives/3078/</link>
<guid>http://www.gracecode.com/archives/3078/</guid>
<pubDate>Sun, 06 Nov 2011 00:17:48 +0800</pubDate>
<dc:creator>明城</dc:creator>
<description><![CDATA[有幸参加了 [今年的 GDD](http://www.google.cn/events/developerday/2011/ "http://www.google.cn/events/develope...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>有幸参加了 <a href="http://www.google.cn/events/developerday/2011/" title="http://www.google.cn/events/developerday/2011/">今年的 GDD</a> ，这里主要记录下对于当天所见的所得。</p>

<p>从时间和会场的安排上来看，一天的时间、两个会场想要同时听遍所有的演讲是不可能的。从技术方向来看，今年的 GDD 明显分成了 HTML5 和 Android 俩大块。由于目前工作的关系，我更多的参加了有关 Android 的内容演讲。</p>

<p><img src="http://s0.i1.picplzthumbs.com/upload/img/ad/fc/2d/adfc2d40247febc41ceac0af56c7a1704c768d22_wmeg_00001.jpg" alt="http://s0.i1.picplzthumbs.com/upload/img/ad/fc/2d/adfc2d40247febc41ceac0af56c7a1704c768d22_wmeg_00001.jpg" title="http://s0.i1.picplzthumbs.com/upload/img/ad/fc/2d/adfc2d40247febc41ceac0af56c7a1704c768d22_wmeg_00001.jpg" /></p>

<h2>Android 其实还是舶来品</h2>

<p>Google 的工程师 Galpin 在讲述 Android4.0 新功能的时候，我特意留意了下现场参会者的手机。比较有趣的一点是现场参与者的手机程三大派系：iOS 设备（iPhone4 居多）、非智能手机（NOKIA 居多）、还有就是各种 Android 设备。</p>

<p>当然，这个现场其实很容易找到原因，有可能是 GDD 本身就是非盈利性的会议，来者的背景各种各样；同时，这会其实是 Google 自己的产品推介会（即便是面向开发者），所以推广产品的氛围会大于技术讨论。</p>

<p>根据我对些数据的掌握，从地理上说南北方的差异还是很大的。iOS 似乎在上海这座城市明显比 Android 设备要多些（在地铁上的观察），这是否预示着 iOS 设备比各种 Android 设备更受人欢迎些？</p>

<h2>Google 是「版本控」</h2>

<p>回到 Android4.0 本身，先对于新功能本身不做任何的评论。单单对比其版本号，就十分的有意思。iOS 从 1.0 发展到 5.0 用了将近四年的时间，而 Android 从 1.5 发展到 4.0 只用了不到二十个月（当然，这没法和 Chrome 比）。</p>

<p>会议间坐我旁边的哥们带点报怨的口气在揶揄：「不用等到 2012，我们就可以用的上 5.0 ，和 iOS 看齐了！」。版本号的迅速提升显然对于开发者而言是个坏消息，Google 这做法我想是出于商业和推广考虑。</p>

<h2>Google  Maps？</h2>

<p>似乎每次 GDD 都会有个主题，这次的 GDD 有大量的 Google Maps 上的技术推广。从技术角度上讲，有关 Google Maps 的技术阐述并不十分的复杂。</p>

<p>今年主讲 Google Maps 我不得不讲前几天传出  <a href="http://www.bbc.co.uk/news/business-15523050" title="http://www.bbc.co.uk/news/business-15523050">Google Maps 将要收费的传闻</a> 联系起来。</p>

<p>虽然官方并没有对此做任何正面的回应，但一旦如果其收费，那么对于开发者而言，Google Maps 将会是他们的成本还是新的赢利点？</p>

<p>毕竟，从目前的市场情况而言，Google Maps 是绝对占有领导性的地位的。</p>

<h2>Web VS. Native</h2>

<p>今年 GDD 分成 Android 与 HTML5 俩大块，实际上按照我的理解其实就是 Native App 与 Web App 的两大不同派系的技术发展方向。</p>

<p>很明显，从各会场的参与人数就可以看出，上海开发者对于 Android 的兴趣目前占有绝对的优势。不过也可以了解到，很多都是想往 Android 平台上转移的开发人员（他们或许是上述使用 NOKIA 的一员？）。</p>

<h2>一直在追赶</h2>

<p>据 Google 官方的阐述，Android 市场的下载量首次超过 iOS。个人对于这新闻并不十分的激动，在我看来 Google 过于强调数量而忽略了质量。</p>

<p>同比想到了  <a href="http://www.ifanr.com/59651" title="http://www.ifanr.com/59651">Google 近期的一系列调整</a> ，我不得不说「Google，你还是别追了，另外条路更适合你」。</p>

<p><code>— EOF —</code></p>

]]></content:encoded>
<slash:comments>2</slash:comments>
<comments>http://www.gracecode.com/archives/3078/#comments</comments>
<wfw:commentRss>http://www.gracecode.com/feed/archives/3071/</wfw:commentRss>
</item>
<item>
<title>从 MIUI  看小米手机</title>
<link>http://www.gracecode.com/archives/3077/</link>
<guid>http://www.gracecode.com/archives/3077/</guid>
<pubDate>Mon, 29 Aug 2011 22:22:13 +0800</pubDate>
<dc:creator>明城</dc:creator>
<description><![CDATA[![http://ww3.sinaimg.cn/bmiddle/66f6d583jw1dkmgeye0w0j.jpg](http://ww3.sinaimg.cn/bmiddle/66f6d583jw...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p><img src="http://ww3.sinaimg.cn/bmiddle/66f6d583jw1dkmgeye0w0j.jpg" alt="http://ww3.sinaimg.cn/bmiddle/66f6d583jw1dkmgeye0w0j.jpg" title="http://ww3.sinaimg.cn/bmiddle/66f6d583jw1dkmgeye0w0j.jpg" /></p>

<p><a href="http://product.xiaomi.com/features.html" title="http://product.xiaomi.com/features.html">距离小米手机发布会已经过去一段时间</a> ，从媒体的声音方面看不乏赞美之词。个人认为如果从来没有接触过此手机，而对其大加赞美是没有任何说服力的。</p>

<p>毫无疑问，小米手机必然搭配的是自家的  <a href="http://www.miui.com/" title="http://www.miui.com/">MIUI 系统</a> 。因此通过使用详细使用此系统，便能对即将发售的小米手机有个比较直观的认识。</p>

<p>「幸运的是」，MIUI 对我的 HTC Desire G7 有比较完整的支持，刷机的过程不算复杂半个小时搞定。</p>

<p>刷完机经过「漫长」的等待以后，小米手机的界面让人的第一感觉它更像是台「山寨的 iPhone 手机」。</p>

<p>安装好 MIUI 以后基本可以不用 <a href="http://www.gracecode.com/archives/3075/" title="http://www.gracecode.com/archives/3075/">安装其它软件就可以上手使用</a> ：完全为国人定制的输入法、符合国情的流量控制、相对类似 HTC 界面算不上丑的天气预报程序等…</p>

<p>整个系统用下来以后，基本上可以用「流畅」来形容，类似 iPhone 的操作界面虽然不免有些俗套，但毕竟没有扔给用户过多学习的包袱。</p>

<p>总体而言，的确可以想象 MIUI 相对于魅族没有过多的「历史包袱」。依靠 Android 这座大山，没有其它如底层架构等方面得困扰，这使得它能比较专注得做好用户人机接口。</p>

<p>MIUI 对比阿里云手机系统，其拥有更完整的社区生态圈，MIUI 在 Android 刷机用户群中拥有比较好的口碑。</p>

<p>同样基于 Android 系统，阿里云手机系统我只能用残念来形容，这对于很多人而言是个非常好的负面案例。</p>

<p>除了对于 MIUI 的印象外，在  <a href="http://tech.xinmin.cn/3c/2011/08/29/11874664.html" title="http://tech.xinmin.cn/3c/2011/08/29/11874664.html">硬件成本方面考虑</a> ，魅族是使用自家的硬件设计，这成本自然不会降低，两千多的售价和 HTC 等厂商的旗舰机型竞争自然非常的吃力。</p>

<p>而售价相对比较低的 <a href="http://mobile.pconline.com.cn/review/1107/2485157.html" title="http://mobile.pconline.com.cn/review/1107/2485157.html">阿里云手机（其实就是天语 W700）</a> ，虽然价格方面有优势，但不到 400RMB 的差价实在是没有多大的差距。</p>

<p>除去硬件成本外，顺便聊聊销售渠道和售后。魅族有自己的品牌店，但「羊毛出在羊身上」这部分的推广费用自然最终会让用户承担。</p>

<p><a href="http://tech.xinmin.cn/3c/2011/08/29/11874664.html" title="http://tech.xinmin.cn/3c/2011/08/29/11874664.html">物流方面小米手机会使用凡客的物流</a> ，成本能更好的控制，从而能降低一定的成本。那么后期的运营呢？我想小米手机暂时会以种子用户的口碑为主，这从个侧面也能理解小米必须要做好这款手机。</p>

<p>总之，不差的系统加上并不糟糕的手机，加上相对比较合适的售价，小米手机的关注程度和市场预期自然不会冷淡。</p>

<p>虽然我个人暂时还会抱着我的 g7 不放手（或许我会入它的次代产品）。总之，如果你近期想拥有台 Android 手机，那么小米手机或许会是你合适的选择。</p>

<p><code>— EOF —</code></p>

]]></content:encoded>
<slash:comments>15</slash:comments>
<comments>http://www.gracecode.com/archives/3077/#comments</comments>
<wfw:commentRss>http://www.gracecode.com/feed/archives/3071/</wfw:commentRss>
</item>
<item>
<title>我常用的 Android 软件</title>
<link>http://www.gracecode.com/archives/3075/</link>
<guid>http://www.gracecode.com/archives/3075/</guid>
<pubDate>Thu, 25 Aug 2011 17:55:25 +0800</pubDate>
<dc:creator>明城</dc:creator>
<description><![CDATA[杭州电信促销，升级宽带同时还送了只手机。不过用了段时间，实在受不了电信送的那波导手机烂得掉渣的程度，于是考虑再入个手机。 [加上公司项目的关系](http://drugs.dxy.cn/android...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>杭州电信促销，升级宽带同时还送了只手机。不过用了段时间，实在受不了电信送的那波导手机烂得掉渣的程度，于是考虑再入个手机。 <a href="http://drugs.dxy.cn/android.htm" title="http://drugs.dxy.cn/android.htm">加上公司项目的关系</a> ，因此就有了本人第一个 Android 手机：HTC Desire(G7)。</p>

<p>入手的首天就将这手机刷成了  <a href="http://www.miui.com/" title="http://www.miui.com/">MIUI 的 Rom</a> ，原因无它只因为 2.3 的系统。不过总的来讲 Android 机子的待机时间比我想象中的还短，看来一天一充是难免了。</p>

<p>倒腾了系统以后自然要倒腾软件，这里记录下目前常用的些软件，有自己试用感觉不错的也有周围的朋友推荐的。</p>

<p>其实刷了 MIUI 以后很多应用软件系统都自带了，我用 Android 手机平时最常用的应用就是刷微博和聊天（杭州电信 3G 速度不错），那么自然 新浪微薄 和 米聊 等应用是必不可少的。</p>

<p>Twitter 客户端我还是用官方的（具体怎么上的不解释），同时为了省电省流量关闭了推送。</p>

<p>支付宝 和 淘宝 的 Android 客户端这些当然会安装，但个人实在不会蛋疼得用他们去购买东西，主要是查下已购买物品的发货状态等的。</p>

<p>导航方面用  <a href="http://ishouji.baidu.com/map/" title="http://ishouji.baidu.com/map/">百度地图</a> ，使用它的主要原因是因为它的离线地图能省流量和加快载入速度。有人会说有 凯立德 等导航软件会更专业，不过相对而言 百度地图 是免费的，心里用的没有「负罪感」。</p>

<p>日历类软件我经常使用，其实系统自带的 Google 日历同步已经足够满足我的需求了。偶尔要翻翻农历的话就用  <a href="http://www.etouch.cn/?product=chinese_traditional_calendar" title="http://www.etouch.cn/?product=chinese_traditional_calendar">中华万年历</a> ，这可能是我找到过的界面和质量相对比其它同类软件要好的应用。</p>

<p>顺便重点推荐下  <a href="https://market.android.com/details?id=com.timsu.astrid&amp;hl=en" title="https://market.android.com/details?id=com.timsu.astrid&amp;hl=en">「Astrid 任务」</a> 这个应用，主要是它能同步 Google Tasks，配合 Google 日历使用基本上能完成日程管理的主要功能了。</p>

<p>浏览器方面我装了很多（这可能是职业病），依次数过来有 海豚浏览器、腾讯浏览器、UC 浏览器、Opera Mobile 等，说不准平时经常用什么浏览器，因为我不怎么用 Android 机子浏览网页。</p>

<p>我有记账的习惯，在 iOS 上我就用「挖财」这个工具，发现 Android 版本的「挖财」比 iOS 的更好用些（看来 Android 是它的主战场）。如果有类似的需求，我推荐它。原因主要有：1、能在不同平台间同步，而且线上网站端的功能更强大 2、免费 3、杭州的本土公司，支持创业</p>

<p>播放器方面是网友推荐的就用 MoboPlayer ，暂时用着似乎都没有多大的问题。不过似乎用手机看视频这情况很少。</p>

<p>看 Google Reader 我用 NewsRob，基本上能满足我的需求了（就是同步有点慢）。其它新闻方面 蘑菇新闻、网易新闻 等门户推出的客户端也安装了一遍，但考虑到平时就常用 Google Reader，所以基本就放在那了。</p>

<p><a href="http://android.d.cn/software/326.html" title="http://android.d.cn/software/326.html">条码扫描器</a>  是必装的，但似乎用它来安装软件外就没有其它用途了，Sigh…</p>

<p>然后还有些什么「某某安全卫士」等这些所谓的「安全软件」，我的态度是拒绝使用。理由有很多，光单单 Android 本身耗电的情况而言，再安装上这些玩意就几乎等于是自杀。</p>

<p>各位如果谁用 Android 的，不妨将您常用的软件贴上来共享下？</p>

<p><code>— EOF —</code></p>

]]></content:encoded>
<slash:comments>22</slash:comments>
<comments>http://www.gracecode.com/archives/3075/#comments</comments>
<wfw:commentRss>http://www.gracecode.com/feed/archives/3071/</wfw:commentRss>
</item>
<item>
<title>GoogleCode 的 git 使用小记</title>
<link>http://www.gracecode.com/archives/3074/</link>
<guid>http://www.gracecode.com/archives/3074/</guid>
<pubDate>Wed, 10 Aug 2011 17:21:52 +0800</pubDate>
<dc:creator>明城</dc:creator>
<description><![CDATA[[早先就知道 GoogleCode 支持 git](http://www.infoq.com/news/2011/07/google-git "http://www.infoq.com/news/20...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p><a href="http://www.infoq.com/news/2011/07/google-git" title="http://www.infoq.com/news/2011/07/google-git">早先就知道 GoogleCode 支持 git</a> ，不过一直没时间体验。近期实在受不了频繁的 svn commit 加上公司的联通网络访问 GoogleCode 实在是慢得让人无法忍受，于是咬咬牙想把 GoogleCode 中那陈年的代码迁移到 git 控制中。</p>

<p>总得来讲，设置 GoogleCode 项目中新的版本控制方案并不复杂，只需要在管理中点击需要的版本控制系统就行。不过令人失望的是 GoogleCode 并没有自动转换成你需要的版本控制系统 -- 可能这点要求有点高，或许可能是 GoogleCode 出于代码安全方面的考虑。</p>

<p><a href="https://code.google.com/hosting/settings" title="https://code.google.com/hosting/settings">登录验证</a> 不同于 GitHub 等使用 ssh 密钥（又有点小失望）， <a href="http://www.mavetju.org/unix/netrc.php" title="http://www.mavetju.org/unix/netrc.php">它使用 .netrc 规则</a> （出于安全考虑，尽量将这个文件的属性设置为 600）。</p>

<p>PS，Windows 用户可以将同内容文件更名为 _netrc 然后放到 %HOME% 目录中。下面的命令可以让你得知你的 %HOME% 目录在哪：</p>

<pre>echo %HOME%</pre>

<p>设置验证完成后，就可以进行 git 的 clone 或者 push 等操作了。这里还得提醒下的就是 wiki 和项目代码两个 clone 是分开的，虽然这并不是什么问题，但我更愿意是像 GitHub 一样是两条分支。</p>

<p>可能先前大家在 GoogleCode 上已经有 svn 控制的代码了，那么你一定想如何将 svn 控制的代码导入到 git 中， <a href="http://help.github.com/import-from-subversion/" title="http://help.github.com/import-from-subversion/">那么这篇文章可以帮助你</a> 。</p>

<p>值得注意的是，GoogleCode 上每个版本控制系统是独立的，这意味着即便你在后台选择了使用 git 作为版本控制系统，其实老的 svn 路径还是可以正常使用的。</p>

<p>总得来讲，相对 GoogleCode，我更喜欢 GitHub 多一点。甚至我还专门从 GoogleCode 中迁移了部分项目代码到 GitHub 上。不过相对 GitHub 而言，GoogleCode 的社会化属性相对少些，这或许对于开发者而言可以将更多的精力投入在开发中。</p>

<p>那么，到底爱 GoogleCode 还是 GitHub？既然用 git 了，这说明其实我只是不爱将鸡蛋放在一个篮子里而已 :^)</p>

<p><code>-- EOF --</code></p>

]]></content:encoded>
<slash:comments>3</slash:comments>
<comments>http://www.gracecode.com/archives/3074/#comments</comments>
<wfw:commentRss>http://www.gracecode.com/feed/archives/3071/</wfw:commentRss>
</item>
<item>
<title>我不需要 Google+ </title>
<link>http://www.gracecode.com/archives/3073/</link>
<guid>http://www.gracecode.com/archives/3073/</guid>
<pubDate>Wed, 13 Jul 2011 14:22:07 +0800</pubDate>
<dc:creator>明城</dc:creator>
<description><![CDATA[![http://files.gracecode.com/2011_07_05/1309831149.jpg](http://files.gracecode.com/2011_07_05/130983...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p><img src="http://files.gracecode.com/2011_07_05/1309831149.jpg" alt="http://files.gracecode.com/2011_07_05/1309831149.jpg" title="http://files.gracecode.com/2011_07_05/1309831149.jpg" /></p>

<p><a href="http://plus.google.com" title="http://plus.google.com">Google+</a>  推出来有些天，本人是 Google 产品重度使用者，因此很早就使用上了 Google+  。使用段 Google+ 后，我发现这东西已经很严重的干扰了我日常的工作。</p>

<p>我每天这样使用 Google 的产品：每天会使用  <a href="http://mail.google.com" title="http://mail.google.com">Gmail</a>  收发邮件、使用  <a href="https://www.google.com/calendar/" title="https://www.google.com/calendar/">Google 日历</a> 计划接下来几天的行程和计划、使用  <a href="https://www.google.com/reader/view/" title="https://www.google.com/reader/view/">Google Reader</a>  获得外部信息，那么 Google+ 这玩意的位置呢？</p>

<p><img src="http://files.gracecode.com/2011_07_06/1309918122.jpg" alt="http://files.gracecode.com/2011_07_06/1309918122.jpg" title="http://files.gracecode.com/2011_07_06/1309918122.jpg" />  <a href="http://www.ifanr.com/45652" title="http://www.ifanr.com/45652">via</a> </p>

<p>总结起来，个人对于  Google 产品更多得是当作个「工具」而不是「娱乐」。所以，即便 Google+ 或许是个不错的产品，但穿插在工作中就显示了其诸多得不便之处。</p>

<p>这就犹如拿个黑莓手机去和 iPhone 比娱乐功能一样：Google+ 默认每次「圈人」和「被圈」都会发邮件给我，无论圈你的家伙你是否认识；同时，无论你身在哪个 Google 的应用中，一旦你开启了 Google+ ，右上角会显示数字「勾引」你去点击。</p>

<p>同时，Google+ 并不是无可替代，Google+ 的功能和体验在其它的 SNS 产品中始终都能得到。所以，它对于我而言丝毫没有任何刺激我继续使用的动力。</p>

<p>还有个因素，就是「媒体们」总是会大肆得粉饰新生的产品，何况这还是互联网老大 Google 的产品。想想当年的 Google Wave 出来时，各界对它的「赞扬」之声吧…</p>

<p>话说回来，可敬的是 Google+ 提供了注销服务的功能，否则我可能永远只能用第三方客户端去收发邮件。</p>

<p>身处互联网这个行业中，每天都有不同的应用涌现。这就会显现个问题，就是我们有这样的时间和精力去体验每个新生的产品。</p>

<p>所以，无论 Google+ 是否有其各界宣扬的那么棒，至少目前而言我不会改变我现有的互联网使用习惯。</p>

<p>再见，Google+</p>

<p><code>— EOF —</code></p>

]]></content:encoded>
<slash:comments>12</slash:comments>
<comments>http://www.gracecode.com/archives/3073/#comments</comments>
<wfw:commentRss>http://www.gracecode.com/feed/archives/3071/</wfw:commentRss>
</item>
<item>
<title>推荐《jQuery 1.4 动画技术》 </title>
<link>http://www.gracecode.com/archives/3072/</link>
<guid>http://www.gracecode.com/archives/3072/</guid>
<pubDate>Mon, 30 May 2011 17:06:27 +0800</pubDate>
<dc:creator>明城</dc:creator>
<description><![CDATA[![http://files.gracecode.com/2011_05_30/1306744111.jpeg](http://files.gracecode.com/2011_05_30/13067...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p><img src="http://files.gracecode.com/2011_05_30/1306744111.jpeg" alt="http://files.gracecode.com/2011_05_30/1306744111.jpeg" title="http://files.gracecode.com/2011_05_30/1306744111.jpeg" /></p>

<p>编写网页脚本某种程度上说，不仅仅是光光技术方面，同时需要考虑到很多非技术因素，例如使用动画带给用户体验方面的影响。</p>

<p>而从实际情况下看来，很多为了所谓效果而使用的动画，其实这往往会适得其反。同时，还有很多新手对于动画还保留着莫名的恐惧感。</p>

<p>这里推荐的这本书的名字叫 <a href="http://www.amazon.com/jQuery-1-4-Animation-Techniques-Beginners/dp/1849513309" title="http://www.amazon.com/jQuery-1-4-Animation-Techniques-Beginners/dp/1849513309">《jQuery 1.4 Animation Techniques: Beginners Guide》</a> 。但并不要被它的书名所迷惑，总体阅读下来这本书还是需要有一定的基础。Amazon 上有读者就抱怨，‘"beginning" is a little bit of a misnomer’，不过这不影响这本书的所提供的营养价值。</p>

<p>不过还是要抱怨下，本书的后两个章节在我个人看来有些鸡肋。使用 CSS3 以及 Canvas 等「新技术」完成动画并不是什么新鲜的技术，所以加入这些内容未免有些凑数的嫌疑。</p>

<p>三百多页的书，所要搭载的内容显得简单直接而富有价值（看目录其实可以抽看自己感兴趣的章节，似乎并不影响对前后文的理解）。抽空阅读下本书，无论是否使用 jQuery 都会对相关的知识面会有些帮助。</p>

<p>PS，由于时间差以及 jQuery 版本飞快增长的关系，推荐使用 1.6 版本，因为这个版本针对动画有所优化（ <a href="http://www.infoq.com/news/2011/05/jquery-1.6-released" title="http://www.infoq.com/news/2011/05/jquery-1.6-released">详细</a> ）。</p>

<p><code>-- EOF --</code></p>

]]></content:encoded>
<slash:comments>6</slash:comments>
<comments>http://www.gracecode.com/archives/3072/#comments</comments>
<wfw:commentRss>http://www.gracecode.com/feed/archives/3071/</wfw:commentRss>
</item>
<item>
<title>Colorizer，Vim 颜色显示插件</title>
<link>http://www.gracecode.com/archives/3071/</link>
<guid>http://www.gracecode.com/archives/3071/</guid>
<pubDate>Tue, 03 May 2011 14:42:28 +0800</pubDate>
<dc:creator>明城</dc:creator>
<description><![CDATA[我记得很久已经介绍过款  [CSS 显示颜色的插件](http://www.gracecode.com/archives/977/ "http://www.gracecode.com/archives...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>我记得很久已经介绍过款  <a href="http://www.gracecode.com/archives/977/" title="http://www.gracecode.com/archives/977/">CSS 显示颜色的插件</a> 。不过完美的插件太难找了，这款插件有点不爽的就是执行效率很低。 <a href="https://github.com/feelinglucky/vimrc/blob/master/vimfiles/syntax/css.vim" title="https://github.com/feelinglucky/vimrc/blob/master/vimfiles/syntax/css.vim">虽然有后续的改进版本</a> ，但我还是希望能找到</p>

<ul>
<li>效率相对较高的颜色显示插件</li>
<li>可以不仅仅在 CSS 文件下显示，但同时也不要太「智能」</li>
</ul>

<p><img src="http://files.gracecode.com/2011_05_03/1304403580.png" alt="http://files.gracecode.com/2011_05_03/1304403580.png" title="http://files.gracecode.com/2011_05_03/1304403580.png" /></p>

<p>于是乎，就有了本文想要介绍的插件（看作者的名字似乎是位国人）。其实， <a href="http://www.vim.org/scripts/script.php?script_id=3567" title="http://www.vim.org/scripts/script.php?script_id=3567">Colorizer 这款插件</a> 也是基于上述插件开发的，而它唯一的不同就是仅仅显示 rgb 颜色，同时精简了部分的代码。</p>

<p>但在使用过程中，发现它只能解析 <code>#rrggbb</code> 这样的格式，无法解析 <code>#rgb</code> 这样的颜色格式；同时我个人觉得 <code>:UpdateColor</code> 这个命令名不直观。</p>

<p>没有完美的插件不是么，于是我做了个小的修改。除了解决上述颜色获取格式问题外，我将命令的名称修改为了 <code>:Colorizer</code> ，虽然算不上好记但至少和插件的名称保持一致了。</p>

<p>最后，提供上述两个插件本人修改后的下载地址：</p>

<ul>
<li>Colorizer  <a href="http://www.vim.org/scripts/script.php?script_id=3567" title="http://www.vim.org/scripts/script.php?script_id=3567">原版</a>  /  <a href="https://github.com/feelinglucky/vimrc/blob/master/vimfiles/plugin/colorizer.vim" title="https://github.com/feelinglucky/vimrc/blob/master/vimfiles/plugin/colorizer.vim">修改版</a> </li>
<li><a href="https://github.com/feelinglucky/vimrc/blob/master/vimfiles/syntax/css.vim" title="https://github.com/feelinglucky/vimrc/blob/master/vimfiles/syntax/css.vim">CSS Color Highlighter</a> </li>
</ul>

<p><code>-- EOF --</code></p>

]]></content:encoded>
<slash:comments>11</slash:comments>
<comments>http://www.gracecode.com/archives/3071/#comments</comments>
<wfw:commentRss>http://www.gracecode.com/feed/archives/3071/</wfw:commentRss>
</item>
</channel>
</rss>

