<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Gawain&apos;s Jail</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/" />
    <link rel="self" type="application/atom+xml" href="http://blog.khsing.net/atom.xml" />
    <id>tag:blog.khsing.net,2010-02-22://2</id>
    <updated>2010-03-12T06:13:27Z</updated>
    <subtitle>有一种生活叫监狱生活</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 5.01</generator>

<entry>
    <title>又败家给MBP添了两条内存</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2010/03/mbp.html" />
    <id>tag:blog.khsing.net,2010://2.124</id>

    <published>2010-03-12T06:05:53Z</published>
    <updated>2010-03-12T06:13:27Z</updated>

    <summary>今天又败家给MBP添了两条DDR3-1066，单条2G的内存。花费660大洋。 加了内存之后，再一次的验证了真理：花钱买回来的性能真不是盖的。开虚拟机那个速度快呀！原本想等到单条4G的便宜了再买，等了半年还是无望，算了还是先买两条2G爽爽吧。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="buy" label="buy" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="memory" label="memory" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[<p>今天又败家给MBP添了两条DDR3-1066，单条2G的内存。花费660大洋。</p>
<p>加了内存之后，再一次的验证了真理：花钱买回来的性能真不是盖的。开虚拟机那个速度快呀！原本想等到单条4G的便宜了再买，等了半年还是无望，算了还是先买两条2G爽爽吧。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Tweetie and Echofon</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2010/03/tweetie-and-echofon.html" />
    <id>tag:blog.khsing.net,2010://2.123</id>

    <published>2010-03-10T03:28:26Z</published>
    <updated>2010-03-10T03:51:01Z</updated>

    <summary>我真正有用的twitter客户端主要就是Tweetie和Echofon，各有各的好，但是哪一个也不让我满意。如果这两个产品要是互相学习一下就好了。我希望一个twitter客户端能集如下功能于一身 展开一个用户的时候像Echofon拉出一个Drawer 可以展开一个关联对话 以看官方的retweete 可以查看list 能使用方向键来选择单个tweete. 能使用快捷键进行reply,retweete,direct reply和repost的操作 可以对重点用户的tweete打label或颜色标记...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="echofon" label="echofon," scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tweetie" label="tweetie" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="twitter" label="twitter," scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[<p>我真正有用的twitter客户端主要就是Tweetie和Echofon，各有各的好，但是哪一个也不让我满意。如果这两个产品要是互相学习一下就好了。我希望一个twitter客户端能集如下功能于一身
<ul>
<li>展开一个用户的时候像Echofon拉出一个Drawer</li>
<li>可以展开一个关联对话</li>
<li>以看官方的retweete</li>
<li>可以查看list</li>
<li>能使用方向键来选择单个tweete.</li>
<li>能使用快捷键进行reply,retweete,direct reply和repost的操作</li>
<li>可以对重点用户的tweete打label或颜色标记</li>
</ul>
</p>]]>
        
    </content>
</entry>

<entry>
    <title>buzz和twitter代表的是两个方向</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2010/03/buzztwitter.html" />
    <id>tag:blog.khsing.net,2010://2.122</id>

    <published>2010-03-09T06:24:45Z</published>
    <updated>2010-03-09T07:27:06Z</updated>

    <summary>注意到Google Reader的People You Followed里老是有几条排在前面，这才发现GReader对目录有三种排序。 Sorted by newest. Sorted by oldest. Sorted by magic. 这个Sorted by Magic似乎就是别他人分享越多、评论越多就越排在前面。而这正是Buzz的策略，甚至Buzz的评论都会让文章排在前面。 一个人的关注面是有限的，以前的我会把Greader清零才睡觉，但是后来我发现信息越来越多，我放弃了，开始只关注部分信息。同样的问题也发生在twitter上，起初我觉的信息量不够，follow了许多人，但是我同样发现信息量太大了，我处理不了那么多，开始unfo了不少，到了可以接受的情况。 buzz的重点还是在集体的智慧，意在利用Google强大的计算能力和海量的信息，再加上集体的智慧来提供有用的信息。而twitter的重点是实时，过期的信息是不被重视的，保持信息新鲜的方法是被Retweete。 有人的地方就有八卦和政治，而且人们谈论八卦和政治的热情比较高。这一点无论在twitter和buzz里都是有的，twitter的感觉是线性的，过去的就是过去的，不再回来。而buzz则不然，时空回转也不是不可能，几年前的讨论都可能被他人提起，进入你的视线，且提起陈旧或无趣题目的人也许你并没有follow。 buzz带来的到底是惊喜还是搅扰？从目前看来搅扰的成份要大过惊喜。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="buzz" label="buzz," scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="twitter" label="twitter," scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[<p>注意到Google Reader的People You Followed里老是有几条排在前面，这才发现GReader对目录有三种排序。
<ul>
<li>Sorted by newest.</li>
<li>Sorted by oldest.</li>
<li>Sorted by magic.</li>
</ul>
这个Sorted by Magic似乎就是别他人分享越多、评论越多就越排在前面。而这正是Buzz的策略，甚至Buzz的评论都会让文章排在前面。</p>
<p>一个人的关注面是有限的，以前的我会把Greader清零才睡觉，但是后来我发现信息越来越多，我放弃了，开始只关注部分信息。同样的问题也发生在twitter上，起初我觉的信息量不够，follow了许多人，但是我同样发现信息量太大了，我处理不了那么多，开始unfo了不少，到了可以接受的情况。</p>
<p>buzz的重点还是在集体的智慧，意在利用Google强大的计算能力和海量的信息，再加上集体的智慧来提供有用的信息。而twitter的重点是实时，过期的信息是不被重视的，保持信息新鲜的方法是被Retweete。</p>
<p>有人的地方就有八卦和政治，而且人们谈论八卦和政治的热情比较高。这一点无论在twitter和buzz里都是有的，twitter的感觉是线性的，过去的就是过去的，不再回来。而buzz则不然，时空回转也不是不可能，几年前的讨论都可能被他人提起，进入你的视线，且提起陈旧或无趣题目的人也许你并没有follow。</p>
<p>buzz带来的到底是惊喜还是搅扰？从目前看来搅扰的成份要大过惊喜。</p>]]>
        
    </content>
</entry>

<entry>
    <title>和出租车司机聊天</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2010/03/post-9.html" />
    <id>tag:blog.khsing.net,2010://2.118</id>

    <published>2010-03-09T03:35:40Z</published>
    <updated>2010-03-09T04:19:17Z</updated>

    <summary>前几天搬了次家，路上和出租车司机就聊起天了，聊的主要内容是小产权的房子。据司机说，村里在宅基地上盖房子，审批比较严，但是一旦盖出来了就是村里说了算了。要说这审批也好批，村里以建设新农村，家家户户住楼房为理由也就批下来了。刚开始呢村支书给大家分完了房了，余下的房子就在开始卖。但是村民很快就又买了几套。村支书还在想，这不是刚刚分完房，怎么又买房呢？后来才明白人家村民转手加2000就卖了，然后这村支书就直接把价码提高到了2000，让村里来挣这个钱。村里盖的房子有不少是电采暖，比之市政供暖还是较贵的，但是村里有卖地来的钱，所以就给每户村民补贴电暖。但是村里的宅基地是有限的，卖地的钱自然也是有限的，如果这样补贴，钱总是会贴没的。 在中国村支书是直选的，所以自这个补贴开始之后，就没有那一届村支书敢把这个供暖补贴取消了。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[<p>前几天搬了次家，路上和出租车司机就聊起天了，聊的主要内容是小产权的房子。据司机说，村里在宅基地上盖房子，审批比较严，但是一旦盖出来了就是村里说了算了。要说这审批也好批，村里以建设新农村，家家户户住楼房为理由也就批下来了。刚开始呢村支书给大家分完了房了，余下的房子就在开始卖。但是村民很快就又买了几套。村支书还在想，这不是刚刚分完房，怎么又买房呢？后来才明白人家村民转手加2000就卖了，然后这村支书就直接把价码提高到了2000，让村里来挣这个钱。村里盖的房子有不少是电采暖，比之市政供暖还是较贵的，但是村里有卖地来的钱，所以就给每户村民补贴电暖。但是村里的宅基地是有限的，卖地的钱自然也是有限的，如果这样补贴，钱总是会贴没的。</p>
<p>在中国村支书是直选的，所以自这个补贴开始之后，就没有那一届村支书敢把这个供暖补贴取消了。</p>]]>
        
    </content>
</entry>

<entry>
    <title>说说最近玩iPhone的事</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2010/03/iphone.html" />
    <id>tag:blog.khsing.net,2010://2.116</id>

    <published>2010-03-01T06:30:00Z</published>
    <updated>2010-03-01T08:28:21Z</updated>

    <summary>前些日子从朋友那里拿了一个iPhone 3G。拿过来时候基本就是个砖头，推测是一个已经刷到3.1.3的有锁版，后来还拿去e世界的电玩巴士请帮解锁，未成功。回来查了一些资料及刷机的方法，自己也刷了几次。这次经历算是给我补了一把iPhone的课。 iPhone除了1代、3G、3GS的区别之外还有有锁版和无锁版的区别。有锁版一般是美国的和日本的，俗称美版和日版，应该也还有欧版的。国内的无锁版一般都是指港版。有锁和无锁的区别是有没有绑定了电信运营商，美版绑定的运营商是AT&amp;T，而日版绑定的是SoftBank Mobile。正常来说绑定了运营商的iPhone只能使用绑定运营商的sim卡，然而非指定运营商的用户也想使用iPhone，于是就出现了卡贴，把一个非指定运营商的sim卡伪装成一个指定运营商的sim卡。后来有人通过软解的方式把iPhone的这一限制给破了，这个过程也就称之为解锁，但是软解的过程并不是一切顺利的，苹果也是通过更新软件的方式防止人们对iPhone进行解锁。最近的iPhone OS 3.1.3的升级就造成了iPhone 3G和3GS无法解锁的情况（我相信这只是暂时的）。目前iPhone 3G有锁版要是刷到了3.1.3并且baseband升到了05.12.01，那么得到的是一个增强版的iPod Touch。iPhone 3G升到3.1.3之后可以使用PwnageTool定制一个固件，选择不要升baseband，这样起码让iPhone 3G可以当个iPod使用。也可以刷回到3.1.2（这个过程会遇到1015的错误），再使用Blackra1n来解。 iPhone用户经常会提到的一个事情就是JailBreak，称之为越狱。越狱后就可以安装许多Apple Store之外的应用程序了。 iPhone用户经常会做同步操作，其实在同步的时候iTunes还会做备份的操作，如果你换了iPhone，那就可以使用&quot;从备份中恢复&quot;这一招把设置、联系人、Safari的书签等给恢复回来。但是要注意以前iPhone里的mp3、视频和买的应用程序就只能从iTunes中同步才能回来了。 在iPhone的刷机过程中要特别注意恢复模式和DFU模式的区别，最大的区别是DFU模式下屏幕是全黑的。进入DFU模式的方法是如下： 关机 同时按下Power+Home键不放，保持10秒 松开Power键，Home继续不放，保持10秒 松开Home键，进入DFU模式 这个操作我的建议是看着PwnageTool中的指导来做，非常的方便。 就iPhone刷机升级这个事来看，没事别折腾。如果要折腾有几点忠告： 无论何时都不要刷官方的新版，除非你是无锁版的，并且不想越狱。 对自己的iPhone要完全了解。是否有锁？什么型号？baseband是多少？。 熟读解锁软件的各个注意事项，一定要读，看看自己的手机是不是在可破的范围之内等等。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="note" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="shared" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iphone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[<p>前些日子从朋友那里拿了一个iPhone 3G。拿过来时候基本就是个砖头，推测是一个已经刷到3.1.3的有锁版，后来还拿去e世界的电玩巴士请帮解锁，未成功。回来查了一些资料及刷机的方法，自己也刷了几次。这次经历算是给我补了一把iPhone的课。</p>
<p>iPhone除了1代、3G、3GS的区别之外还有有锁版和无锁版的区别。有锁版一般是美国的和日本的，俗称美版和日版，应该也还有欧版的。国内的无锁版一般都是指港版。有锁和无锁的区别是有没有绑定了电信运营商，美版绑定的运营商是AT&T，而日版绑定的是SoftBank Mobile。正常来说绑定了运营商的iPhone只能使用绑定运营商的sim卡，然而非指定运营商的用户也想使用iPhone，于是就出现了卡贴，把一个非指定运营商的sim卡伪装成一个指定运营商的sim卡。后来有人通过软解的方式把iPhone的这一限制给破了，这个过程也就称之为解锁，但是软解的过程并不是一切顺利的，苹果也是通过更新软件的方式防止人们对iPhone进行解锁。最近的iPhone OS 3.1.3的升级就造成了iPhone 3G和3GS无法解锁的情况（我相信这只是暂时的）。目前iPhone 3G有锁版要是刷到了3.1.3并且baseband升到了05.12.01，那么得到的是一个增强版的iPod Touch。iPhone 3G升到3.1.3之后可以使用PwnageTool定制一个固件，选择不要升baseband，这样起码让iPhone 3G可以当个iPod使用。也可以刷回到3.1.2（这个过程会遇到1015的错误），再使用Blackra1n来解。</p>
<p>iPhone用户经常会提到的一个事情就是JailBreak，称之为越狱。越狱后就可以安装许多Apple Store之外的应用程序了。</p>
<p>iPhone用户经常会做同步操作，其实在同步的时候iTunes还会做备份的操作，如果你换了iPhone，那就可以使用"从备份中恢复"这一招把设置、联系人、Safari的书签等给恢复回来。但是要注意以前iPhone里的mp3、视频和买的应用程序就只能从iTunes中同步才能回来了。</p>
<p>在iPhone的刷机过程中要特别注意恢复模式和DFU模式的区别，最大的区别是DFU模式下屏幕是全黑的。进入DFU模式的方法是如下：
<ol>
<li>关机</li>
<li>同时按下Power+Home键不放，保持10秒</li>
<li>松开Power键，Home继续不放，保持10秒</li>
<li>松开Home键，进入DFU模式</li>
</ol>
这个操作我的建议是看着PwnageTool中的指导来做，非常的方便。</p>
<p>就iPhone刷机升级这个事来看，没事别折腾。如果要折腾有几点忠告：
<ol>
<li>无论何时都不要刷官方的新版，除非你是无锁版的，并且不想越狱。</li>
<li>对自己的iPhone要完全了解。是否有锁？什么型号？baseband是多少？。</li>
<li>熟读解锁软件的各个注意事项，一定要读，看看自己的手机是不是在可破的范围之内等等。</li>
</ol>
</p>]]>
        
    </content>
</entry>

<entry>
    <title>帮助怡帆</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2010/01/post-8.html" />
    <id>tag:blog.khsing.net,2010://2.113</id>

    <published>2010-01-06T06:54:58Z</published>
    <updated>2010-02-22T03:45:19Z</updated>

    <summary>看到拯救怡帆：请帮助这位漂亮、坚强的女孩。我自己到今年5月底就会成为一名父亲，深感这样的事情是大不幸，希望怡帆能够挺过去，去拥有她应该拥有的童年。 捐赠方式 1. 银行转账 怡帆妈妈农业银行账户： 户名：周萍 账号：6228480010211053011 开户行：中国农业银行北京市分行白石桥支行 2. 支付宝 怡帆基金支付宝账户：yifanfoundation@gmail.com 3. 和睦家基金会 (美元捐款) 另有网站：http://www.help-yifan.org，网站上也可以看到捐款信息。望怡帆重返健康！...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[看到<a href="http://www.ifanr.com/6104">拯救怡帆：请帮助这位漂亮、坚强的女孩</a>。我自己到今年5月底就会成为一名父亲，深感这样的事情是大不幸，希望怡帆能够挺过去，去拥有她应该拥有的童年。
<pre>
捐赠方式
1. 银行转账 
怡帆妈妈农业银行账户： 
户名：周萍 
账号：6228480010211053011 
开户行：中国农业银行北京市分行白石桥支行 
2. 支付宝 
怡帆基金支付宝账户：yifanfoundation@gmail.com 
3. 和睦家基金会 (美元捐款) 
</pre>
另有网站：<a href="http://www.help-yifan.org">http://www.help-yifan.org</a>，网站上也可以看到<a href="http://www.help-yifan.org/donate.html">捐款信息</a>。望怡帆重返健康！]]>
        
    </content>
</entry>

<entry>
    <title>终了2009</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2009/12/2009.html" />
    <id>tag:blog.khsing.net,2009://2.111</id>

    <published>2009-12-31T01:07:29Z</published>
    <updated>2009-12-31T02:23:53Z</updated>

    <summary>2009年又要过去了，一年又一年，日子总是追着走。 从工作、学习和生活三个方面去说，2009年做的事真是不多，有些得过且过的感觉了。年初我有许多的计划，可是到了年终，细细的数来却没能完成几样。生活上值得庆祝的事情，一来办了婚礼，二来呢做了准爸爸。工作上没有值得庆祝的事，只有值得反省的事。学习上的事情，是觉的学的太慢了，而且网撒的太大，有点收不住的感觉了。 2010年对自己的希望是： 做一个好爸爸。 多学一门外语。 把学习的重点放在计算机科学上，不要再搞民科了。要深一些！ 广交好友，提升RP。 在人大的学习该有个了结了。 多了解一些微观经济学的东西。 克服拖沓症。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="life" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="note" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="总结" label="总结" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[<p>2009年又要过去了，一年又一年，日子总是追着走。</p>
<p>从工作、学习和生活三个方面去说，2009年做的事真是不多，有些得过且过的感觉了。年初我有许多的计划，可是到了年终，细细的数来却没能完成几样。生活上值得庆祝的事情，一来办了婚礼，二来呢做了准爸爸。工作上没有值得庆祝的事，只有值得反省的事。学习上的事情，是觉的学的太慢了，而且网撒的太大，有点收不住的感觉了。</p>
<p>2010年对自己的希望是：
<ol>
<li>做一个好爸爸。</li>
<li>多学一门外语。</li>
<li>把学习的重点放在计算机科学上，不要再搞民科了。要深一些！</li>
<li>广交好友，提升RP。</li>
<li>在人大的学习该有个了结了。</li>
<li>多了解一些微观经济学的东西。</li>
<li>克服拖沓症。</li>
</ol>
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Automator Proxy Toggle Shell</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2009/12/automator-proxy-toggle-shell.html" />
    <id>tag:blog.khsing.net,2009://2.110</id>

    <published>2009-12-11T02:23:49Z</published>
    <updated>2009-12-11T02:29:26Z</updated>

    <summary>人都是被逼出来的，为翻墙方便，用Automator写了一个Service，就执行一段shell，还设置了一个快捷键。 #!/bin/sh STAT=`sudo networksetup -getwebproxy Ethernet | head -1 | cut -d: -f 2|sed &apos;s/ //g&apos;` if [ &quot;$STAT&quot; == &quot;No&quot; ];then networksetup -setwebproxystate Ethernet on; /Users/guixing/bin/growlnotify -m &quot;Proxy On&quot;; else networksetup -setwebproxystate Ethernet off; /Users/guixing/bin/growlnotify -m &quot;Proxy Off&quot;; fi...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="shared" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="gfw" label="gfw" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="proxy" label="proxy," scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[人都是被逼出来的，为翻墙方便，用Automator写了一个Service，就执行一段shell，还设置了一个快捷键。
<pre>
#!/bin/sh
STAT=`sudo networksetup -getwebproxy Ethernet | head -1 | cut -d: -f 2|sed 's/ //g'`
if [ "$STAT" == "No" ];then
	networksetup -setwebproxystate Ethernet on;
    /Users/guixing/bin/growlnotify -m "Proxy On";
else
	networksetup -setwebproxystate Ethernet off;
    /Users/guixing/bin/growlnotify -m "Proxy Off";
fi
</pre>
<code>growlnotify</code>是Growl的一个命令行工具。]]>
        
    </content>
</entry>

<entry>
    <title>Google的公共DNS服务</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2009/12/googledns.html" />
    <id>tag:blog.khsing.net,2009://2.109</id>

    <published>2009-12-04T03:41:21Z</published>
    <updated>2009-12-04T04:24:05Z</updated>

    <summary>Google提供了公共的DNS服务，三金和老黄马上就想到了对CDN厂商的冲击。我看了下Google的Performance Benefits，记一笔。 发生在解析服务器和其它DNS服务器的传输时间，有三个原因。 无缓存。无缓存就要查其它的NS。 无法服务。要查的NS如果过载，就可能发生请求被丢弃或重发。 恶意的流量。DoS，重点是攻击，人为造成第二种情况甚至更严重。 无缓存的情况有一些数据，NS服务器拿到一个无缓存的请求，会导致至少1次的外部NS查询，一般情况会是2次以上。 根据Googlebot的情况来看，平均解析时间是130ms，然而还有4-6%的请求会直接超时，这通常是UDP丢包或服务器无法到达。把丢包，死NS，NS配置错误等因素都计算进来的话，实际的解析时间是300-400ms。 无缓存的情况较难避免，原因有三： internet太大而且还在成长。新用户和新网站都在增长，并不是所有的网站都是那么的流行，所以大部分的请求都是无缓存的情况。 TTL太短，这个好象是个趋势，短TTL带来的就是更多的NS请求。 缓存是相对隔离的，NS大多放在LB设备下，缓存是随机的。所以就增加了无缓存的情况。 Google采用了一些方法，如下： 提供足够的服务器。 避免恶意攻击。 LB使用共享的缓存。 预抓取名字解析。 提供全球服务。 其中新的东东是这个预抓取！...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="note" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="dns" label="dns" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[Google提供了公共的DNS服务，三金和老黄马上就想到了对CDN厂商的冲击。我看了下Google的<a href="http://code.google.com/speed/public-dns/docs/performance.html">Performance Benefits</a>，记一笔。
<p>发生在解析服务器和其它DNS服务器的传输时间，有三个原因。
<ul>
<li> 无缓存。无缓存就要查其它的NS。</li>
<li> 无法服务。要查的NS如果过载，就可能发生请求被丢弃或重发。</li>
<li> 恶意的流量。DoS，重点是攻击，人为造成第二种情况甚至更严重。</li>
</ul>
</p>
<p>无缓存的情况有一些数据，NS服务器拿到一个无缓存的请求，会导致至少1次的外部NS查询，一般情况会是2次以上。</p>

<p>根据Googlebot的情况来看，平均解析时间是130ms，然而还有4-6%的请求会直接超时，这通常是UDP丢包或服务器无法到达。把丢包，死NS，NS配置错误等因素都计算进来的话，实际的解析时间是300-400ms。</p>

<p>无缓存的情况较难避免，原因有三：
<ul>
<li>internet太大而且还在成长。新用户和新网站都在增长，并不是所有的网站都是那么的流行，所以大部分的请求都是无缓存的情况。</li>
<li>TTL太短，这个好象是个趋势，短TTL带来的就是更多的NS请求。</li>
<li>缓存是相对隔离的，NS大多放在LB设备下，缓存是随机的。所以就增加了无缓存的情况。</li>
</ul>
</p>
<p>Google采用了一些方法，如下：
<ul>
<li> 提供足够的服务器。</li>
<li> 避免恶意攻击。</li>
<li> LB使用共享的缓存。</li>
<li>预抓取名字解析。</li>
<li> 提供全球服务。</li>
</ul>
其中新的东东是这个预抓取！</p>]]>
        
    </content>
</entry>

<entry>
    <title>记一笔keep-alive和cache-control</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2009/12/keep-alivecache-control.html" />
    <id>tag:blog.khsing.net,2009://2.108</id>

    <published>2009-12-02T01:37:33Z</published>
    <updated>2009-12-02T02:34:35Z</updated>

    <summary>以前看的时候大多走马观花，补补课，记一笔吧。 对于静态内容在HTTP Header中设置过期时间和最大时间，可以有效的使浏览器避免下载已经下载过的文件。 js,css,图片什么的都是静态内容，都应该考虑cache，但是html不是静态内容。 Expires和Cache-Control: max-age是资源终身鲜活的Cache控制。浏览器在过期之前不进行资源的鲜活检查。 Last-Modified 和ETag则是对资源的一种描述，属于启发式的Cache控制，浏览器在检查之后再决定使用Cache与否。 Expires 和Cache-Control: max-age，作用相同，设置其中一个即可，Last-Modified 和Etag也是冗余的设置，设置其中一个即可。 设置Expires，Cache-Control支持率不及Expires。这个值通常设置1个月，不要超过1年。如果不知道过期时间，就设长一点，当发生变化的时候使用URL的指纹。 要考虑到代理服务器的Cache情况，使用Cache-Control的public还是private。通常来说要set-cookie的地方就不要让代理Cache，所以设置为Private。 代理Cache的情况还有压缩与否的问题，有两种方法，一种是把Cache-Control设置为Private，使代理服务器不Cache这些内容。另一种是设置Vary: Accept-Encoding的Header，这可以使代理Cache两种内容，压缩的与不压缩的。 避免Firefox的URL哈希冲突，Firefox的URL哈希算法有8个字符的冲突边界。所以两个资源的URL差异应该在8个字符以上。 设置正确的Vary Header，IE对于设置了Vary头的资源是不Cache的，有例外，Vary头的值是Accept-Encoding和User-Agent的时候可以被IE给Cache，所以要么不设Vary头，要么就对Vary头进行裁剪。 HTTP Keep-alive呢，重点看以下几个文档： http://httpd.apache.org/docs/2.0/mod/core.html#keepalive http://en.wikipedia.org/wiki/HTTP_persistent_connection http://en.wikipedia.org/wiki/Keepalive Apache的KeepAlive设置与优化 - 老黄纸条箱（这篇是精华） Keep-alive是指在同一个连接中发出和接收多次HTTP请求。优点是： 使用较少的CPU和内存 开启HTTP 管道 减少网络拥堵 在接下来的请求中，减少传输时间。 错误可以被报告但是不关闭TCP连接。 在RFC 2617第47页里，一个用户客户端对任何服务器或代理不能维持2个以上的连接。代理可以维持2xN个连接。 IE6和7使用 2个长连接，IE8使用6个，都是在60秒之后超时。 Firefox的长连接都是在300秒超时，同时使用的连接可以自定义（按每主机或总计），Opera与Firefox类似。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="note" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[以前看的时候大多走马观花，补补课，记一笔吧。
<ul>
<li>对于静态内容在HTTP Header中设置过期时间和最大时间，可以有效的使浏览器避免下载已经下载过的文件。</li>
<li>js,css,图片什么的都是静态内容，都应该考虑cache，但是html不是静态内容。</li>
<li>Expires和Cache-Control: max-age是资源终身鲜活的Cache控制。浏览器在过期之前不进行资源的鲜活检查。</li>
<li>Last-Modified 和ETag则是对资源的一种描述，属于启发式的Cache控制，浏览器在检查之后再决定使用Cache与否。</li>
<li>Expires 和Cache-Control: max-age，作用相同，设置其中一个即可，Last-Modified 和Etag也是冗余的设置，设置其中一个即可。</li>
<li>设置Expires，Cache-Control支持率不及Expires。这个值通常设置1个月，不要超过1年。如果不知道过期时间，就设长一点，当发生变化的时候使用URL的指纹。</li>
<li>要考虑到代理服务器的Cache情况，使用Cache-Control的public还是private。通常来说要set-cookie的地方就不要让代理Cache，所以设置为Private。</li>
<li>代理Cache的情况还有压缩与否的问题，有两种方法，一种是把Cache-Control设置为Private，使代理服务器不Cache这些内容。另一种是设置Vary: Accept-Encoding的Header，这可以使代理Cache两种内容，压缩的与不压缩的。</li>
<li>避免Firefox的URL哈希冲突，Firefox的URL哈希算法有8个字符的冲突边界。所以两个资源的URL差异应该在8个字符以上。</li>
<li>设置正确的Vary Header，IE对于设置了Vary头的资源是不Cache的，有例外，Vary头的值是Accept-Encoding和User-Agent的时候可以被IE给Cache，所以要么不设Vary头，要么就对Vary头进行裁剪。</li>
</ul>

HTTP Keep-alive呢，重点看以下几个文档：
<ul>
<a href="http://httpd.apache.org/docs/2.0/mod/core.html#keepalive">http://httpd.apache.org/docs/2.0/mod/core.html#keepalive</a></li>
<li><a href="http://en.wikipedia.org/wiki/HTTP_persistent_connection">http://en.wikipedia.org/wiki/HTTP_persistent_connection</a></li>
<li><a href="http://en.wikipedia.org/wiki/Keepalive">http://en.wikipedia.org/wiki/Keepalive</a></li>
<li><a href="http://blog.opensource.org.cn/hdcola/2008/05/apachekeepalive-1.html">Apache的KeepAlive设置与优化 - 老黄纸条箱</a>（这篇是精华）</li>
</ul>
Keep-alive是指在同一个连接中发出和接收多次HTTP请求。优点是：
<ul>
<li> 使用较少的CPU和内存</li>
<li>开启HTTP 管道</li>
<li>减少网络拥堵</li>
<li>在接下来的请求中，减少传输时间。</li>
<li>错误可以被报告但是不关闭TCP连接。</li>
</ul>
<p>在RFC 2617第47页里，一个用户客户端对任何服务器或代理不能维持2个以上的连接。代理可以维持2xN个连接。</p>
<p>IE6和7使用 2个长连接，IE8使用6个，都是在60秒之后超时。
Firefox的长连接都是在300秒超时，同时使用的连接可以自定义（按每主机或总计），Opera与Firefox类似。</p>
]]>
        
    </content>
</entry>

<entry>
    <title>卧底经济学的小记(1)</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2009/12/1.html" />
    <id>tag:blog.khsing.net,2009://2.107</id>

    <published>2009-12-01T01:51:21Z</published>
    <updated>2009-12-01T06:09:48Z</updated>

    <summary> 还价能力来自于稀缺性。 稀缺有两种，一种是自然稀缺，另一种是人为稀缺。人为的通过政策和法律限制&quot;边际&quot;资源，造成资源的稀缺，进而提高了还价的能力。 如果1蒲式耳粮食值1美元，那么5蒲式耳粮食就是5美元的地租。如果1蒲式耳粮食值20万美元，那么5蒲式耳粮食就是100万美元的地租。 现行的货币系统，因其本身做为一种商品，其价值的不稳定，对普通大众甚至是有一定的欺骗性。许多人认为货币是稳定不变的，至少认为变化不大，而实际上货币是有时间成本的，是在不断贬值的。当存款的利率低于当年的通货澎胀率，那么把钱存在银行实际上是在赔钱。实际这个例子是在说羊毛出在羊身上，地租的差异是因为地皮的差异，但是地租的高低则是议价的结果。而且地皮的差异并不是一承不变的，比如买房的时候周围还没有地铁，但是后来地铁新建之后就改变了地皮与地皮之间的差异。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="note" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="笔记" label="笔记" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="经济学故事" label="经济学,故事," scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[<ul><li><blockquote>
还价能力来自于稀缺性。
</blockquote>
稀缺有两种，一种是自然稀缺，另一种是人为稀缺。人为的通过政策和法律限制"边际"资源，造成资源的稀缺，进而提高了还价的能力。
</li>
<li>
<blockquote>
如果1蒲式耳粮食值1美元，那么5蒲式耳粮食就是5美元的地租。如果1蒲式耳粮食值20万美元，那么5蒲式耳粮食就是100万美元的地租。
</blockquote>
现行的货币系统，因其本身做为一种商品，其价值的不稳定，对普通大众甚至是有一定的欺骗性。许多人认为货币是稳定不变的，至少认为变化不大，而实际上货币是有时间成本的，是在不断贬值的。当存款的利率低于当年的通货澎胀率，那么把钱存在银行实际上是在赔钱。实际这个例子是在说羊毛出在羊身上，地租的差异是因为地皮的差异，但是地租的高低则是议价的结果。而且地皮的差异并不是一承不变的，比如买房的时候周围还没有地铁，但是后来地铁新建之后就改变了地皮与地皮之间的差异。
</li>
</ul>]]>
        
    </content>
</entry>

<entry>
    <title>内存是新的硬盘</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2009/11/memory-is-new-disk.html" />
    <id>tag:blog.khsing.net,2009://2.106</id>

    <published>2009-11-27T14:47:17Z</published>
    <updated>2009-12-01T06:16:45Z</updated>

    <summary>High Scalability有篇基于内存构建云的展望。顺手做一下笔记： Google的一个查询能够在200ms之内完成，其性能主要来源就是索引信息完全在内存里。数以千记的服务器处理每一个查询，以使搜索结果能立刻返回。 Linkedin和digg都把自己的社会关系网络给塞到内存里了。 Facebook使用了800个memcached，存储了25T的数据，并且保持了99%的cache命中率。 在基于内存的结构中，内存将是一套存储系统。与基于缓存的结构不同之处是，内存中的数据即是最终数据。 缓存系统是以最小化磁盘读取数据的瓶颈为目的，而内存系统则可以定址整个应用的栈。 数据存储在内存里比之传统方式将获得更高的可用性。 内存＝高带宽和低传输时间。 内存的带宽是5GB/s，硬盘是100MB/s。内存比硬盘快数百倍。 硬盘的读传输时间大约在几秒的范围之内，内存则在5纳秒之内。内存比硬盘快了2000倍。 内存是新的硬盘。 通过网络在内存中提交一个事务要比写在硬盘上快。同样的读内存也要比读硬盘快。 所以思想就是要跳过硬盘。 硬盘是新内存，内存是新缓存。50个硬盘的集群可以达到与内存相同的带宽。但是传输时间上的问题就要靠组织数据结构和优化算法实现了。 记的比较乱，大概留个映像吧。要让数据靠CPU足够近。 Update: 刚才看到了几幅图和这个题很近。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="arch" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="内存" label="内存," scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="存储" label="存储" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[High Scalability有篇<a href="http://highscalability.com/are-cloud-based-memory-architectures-next-big-thing">基于内存构建云的展望</a>。顺手做一下笔记：
<ul>
<li>Google的一个查询能够在200ms之内完成，其性能主要来源就是索引信息完全在内存里。数以千记的服务器处理每一个查询，以使搜索结果能立刻返回。</li>
<li>Linkedin和digg都把自己的社会关系网络给塞到内存里了。</li>
<li>Facebook使用了800个memcached，存储了25T的数据，并且保持了99%的cache命中率。</li>
<li>在基于内存的结构中，内存将是一套存储系统。与基于缓存的结构不同之处是，内存中的数据即是最终数据。</li>
<li>缓存系统是以最小化磁盘读取数据的瓶颈为目的，而内存系统则可以定址整个应用的栈。 数据存储在内存里比之传统方式将获得更高的可用性。</li>
<li>内存＝高带宽和低传输时间。</li>
<li>内存的带宽是5GB/s，硬盘是100MB/s。内存比硬盘快数百倍。</li>
<li>硬盘的读传输时间大约在几秒的范围之内，内存则在5纳秒之内。内存比硬盘快了2000倍。</li>
<li><a href="http://www.infoq.com/news/2008/06/ram-is-disk">内存是新的硬盘</a>。</li>
<li>通过网络在内存中提交一个事务要比写在硬盘上快。同样的读内存也要比读硬盘快。</li>
<li>所以思想就是要跳过硬盘。</li>
<li>硬盘是新内存，内存是新缓存。50个硬盘的集群可以达到与内存相同的带宽。但是传输时间上的问题就要靠组织数据结构和优化算法实现了。</li>
</ul>
记的比较乱，大概留个映像吧。要让数据靠CPU足够近。
<p>
Update: 刚才看到了几幅图和这个题很近。</p>
<img src="http://farm3.static.flickr.com/2520/4149648052_ac3e900ae8_o.png" />
<img src="http://farm3.static.flickr.com/2703/4148888607_e910ec5685_o.png" />
]]>
        
    </content>
</entry>

<entry>
    <title>Wave和科技创新</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2009/11/wave.html" />
    <id>tag:blog.khsing.net,2009://2.102</id>

    <published>2009-11-16T01:28:30Z</published>
    <updated>2009-11-16T01:40:32Z</updated>

    <summary>周末参加了豆瓣举办的Python聚会，直播使用了Google的新产品----Wave，发现Wave真的可以把会议室给解放出来。 刚刚接触到Wave的人，大多都有些失望，发现Wave和一个即时通信工具没有什么两样，只不过组的成员是不固定的。同样也没有带来想象中的信息爆炸。 然而在这次聚会直播中，我们发现了Wave的真正实力，与IM相比Wave多出了这样几个功能。 可以在任何时间把一个人拉入一个Wave中。（与其说是Wave不如说是Topic） 可以对消息进行再次的编辑、删除操作。 playback，回放可以让后来的人了解过程或者回顾讨论的顺序，比如讨论过程中拉了谁进来，谁说了什么话，谁修改了自己的或者别人的发言，哪句话被谁在什么时候给删除了等等，Wave让我们了解了这是一个过程。 就上面这些功能就足以让我们不必到会议室进行讨论，而是直接在线上进行交流，快速的讨论，如果讨论过程中觉的某某人也应该参加这个讨论，那么就把他拉进来吧，就是这样，很简单，但是我们有会议记录，可以回放的会议记录。相对于会议室，缺少的可能是一个白板，我相信不久就会有这样的Widget出来。 科技创新改变生活方式，也改变行业的规则。twitter提供了个人的即时广播电台，YouTube提供网络电视，Wave提供了网络会议室，Facebook提供了网络的社会关系。如果有一天机器人可以送快递，我们就真的可以足不出户的生活了。 BTW: 当国际科技发展在改变国际友人的生活方式的同时，国内科技的发展同样的在改变国人的生活方式，比如翻墙。鬼子们通过网络(也许是免费的)看YouTube 1080p高清电影的时候，我们还在为自己1M ADSL付费。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="life" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="life" label="life," scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tech" label="tech," scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wave" label="wave" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="生活" label="生活," scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="科技" label="科技," scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[<p>周末参加了豆瓣举办的Python聚会，直播使用了Google的新产品----Wave，发现Wave真的可以把会议室给解放出来。</p>
<p>刚刚接触到Wave的人，大多都有些失望，发现Wave和一个即时通信工具没有什么两样，只不过组的成员是不固定的。同样也没有带来想象中的信息爆炸。</p>
<p>然而在这次聚会直播中，我们发现了Wave的真正实力，与IM相比Wave多出了这样几个功能。</p>
<ul>
<li>可以在任何时间把一个人拉入一个Wave中。（与其说是Wave不如说是Topic）</li>
<li>可以对消息进行再次的编辑、删除操作。</li>
<li>playback，回放可以让后来的人了解过程或者回顾讨论的顺序，比如讨论过程中拉了谁进来，谁说了什么话，谁修改了自己的或者别人的发言，哪句话被谁在什么时候给删除了等等，Wave让我们了解了这是一个过程。</li>
</ul>
<p>就上面这些功能就足以让我们不必到会议室进行讨论，而是直接在线上进行交流，快速的讨论，如果讨论过程中觉的某某人也应该参加这个讨论，那么就把他拉进来吧，就是这样，很简单，但是我们有会议记录，可以回放的会议记录。相对于会议室，缺少的可能是一个白板，我相信不久就会有这样的Widget出来。</p>
<p>科技创新改变生活方式，也改变行业的规则。twitter提供了个人的即时广播电台，YouTube提供网络电视，Wave提供了网络会议室，Facebook提供了网络的社会关系。如果有一天机器人可以送快递，我们就真的可以足不出户的生活了。</p>
<p>BTW: 当国际科技发展在改变国际友人的生活方式的同时，国内科技的发展同样的在改变国人的生活方式，比如翻墙。鬼子们通过网络(也许是免费的)看YouTube 1080p高清电影的时候，我们还在为自己1M ADSL付费。</p>]]>
        
    </content>
</entry>

<entry>
    <title>那个洞</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2009/11/post-7.html" />
    <id>tag:blog.khsing.net,2009://2.100</id>

    <published>2009-11-02T04:09:10Z</published>
    <updated>2009-11-02T04:21:56Z</updated>

    <summary>在Practice of System and Network Administration中有一章是Climb out of the Hole。这个洞就是： 一个家伙掉到了一个深到他不可能出来的洞里。他听到有人来了，然后他引起了那个人的注意。那个路人听完了他的境况，想了一会儿，也跳进了那个洞。 &quot;你为什么要这样做？现在我们都被困在这儿了。&quot; &quot;呃〜至少你现在不再孤独了。&quot;那个路人说。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="shared" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[在Practice of System and Network Administration中有一章是Climb out of the Hole。这个洞就是：
<blockquote>
<p>一个家伙掉到了一个深到他不可能出来的洞里。他听到有人来了，然后他引起了那个人的注意。那个路人听完了他的境况，想了一会儿，也跳进了那个洞。</p>
<p>"你为什么要这样做？现在我们都被困在这儿了。"</p>
<p>"呃〜至少你现在不再孤独了。"那个路人说。</p>
</blockquote>]]>
        
    </content>
</entry>

<entry>
    <title>又一次败家Canon 450D</title>
    <link rel="alternate" type="text/html" href="http://blog.khsing.net/2009/10/canon-450d.html" />
    <id>tag:blog.khsing.net,2009://2.94</id>

    <published>2009-10-15T08:25:16Z</published>
    <updated>2009-10-15T09:13:47Z</updated>

    <summary>终于入手了本人的第一台数码单反机。败家记录如下： Canon 450D单机，¥3850。 Canon Lens EF 50mm f1.8 II，¥700。 SanDisk Extreme III 4GM，¥150。 Kenko UV，¥70。 普通包一个，¥70。 3&apos;屏贴一个，送。 总计¥4830（免了¥10，真少啊，T_T）。 半年前，岳父给我了一个美能达X300的单反和一个VR神镜，胶片机的，还有一些很老很老的设备，比如红梅的机器。可惜，到现在一次也没有用过。...</summary>
    <author>
        <name>Guixing</name>
        <uri>http://blog.khsing.net</uri>
    </author>
    
        <category term="diary excerpt" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="life" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="photo" label="photo," scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="相机" label="相机," scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="败家" label="败家" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blog.khsing.net/">
        <![CDATA[<p>终于入手了本人的第一台数码单反机。败家记录如下：
<ul>
<li>Canon 450D单机，¥3850。</li>
<li>Canon Lens EF 50mm f1.8 II，¥700。</li>
<li>SanDisk Extreme III 4GM，¥150。</li>
<li>Kenko UV，¥70。</li>
<li>普通包一个，¥70。</li>
<li>3'屏贴一个，送。</li>
</ul>
总计¥4830（免了¥10，真少啊，T_T）。
</p>
<p>半年前，岳父给我了一个美能达X300的单反和一个VR神镜，胶片机的，还有一些很老很老的设备，比如红梅的机器。可惜，到现在一次也没有用过。</p>]]>
        
    </content>
</entry>

</feed>
